客户使用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配置存储过程时自己创建的。我怀疑是返回值类型的问题。不知如何解决!
盼高手指点!不胜感激!
急盼!
客户端需要使用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 后不能有路径或参数。