java通过soap开发sqlxml公布的web服务!(急,如果可以解决,可以再多给1000分)
pjy 2007-05-24 04:57:07 客户使用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配置存储过程时自己创建的。我怀疑是返回值类型的问题。
不知如何解决!
盼高手指点!不胜感激!
急盼!