java通过soap开发sqlxml公布的web服务!(急,如果可以解决,可以再多给1000分)
客户使用sqlxml 3.0暴露了sql server2000中的存储过程为web服务,已经可以在IE 中访问生成的wsdl文件。
客户端需要使用java,我采用了JBuilder2006,基本有关soap代码如下:
String endpoint = "Http://localhost/ICollector/alarmsupdate?wsdl ";
//直接引用远程的wsdl文件
//以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName( "GetSoap ");
call.addParameter( "InsertSql ", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);//接口的参数
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
String temp = "select getdate() ";
call.invoke(new Object[]{temp});
运行时提示:
soap aname 后不能有路径或参数。
getSoap存储过程代码如下(用作测试的):
create procedure getSoap
(
@insertsql varchar(800)
)
as
begin
exec(@Insertsql)
end
我查看WSDL,定义的getSoap方法有一个
type= "sqlresultstream:SqlResultStream "的返回值,sqlxml配置存储过程时自己创建的。我怀疑是返回值类型的问题。
不知如何解决!
盼高手指点!不胜感激!
急盼!
------解决方案--------------------运行时报错:
soap vname 后不能有路径或参数。
------解决方案--------------------应该是endpoint = "Http://localhost/ICollector/alarmsupdate ";
------解决方案--------------------是吗?
这个我试一下,还有什么其他的可能吗?