axis namespase 问题
我用vc访问axis的web service,在用sproxy生成客户端代码时,用如下命令:
sproxy /wsdl http://server:8080/axis/services/Version?wsdl
sproxy报错如下:
error SDL1025 input/output operations with different namespaces are not supported.
sproxy : error SDL1002 : failure in generating output file: "<unspecified>"
我查了一下msdn,有这样一篇文章http://msdn2.microsoft.com/zh-cn/library/wxkk99y4.aspx
axis例子里Version 这个web服务wsdl input namespace 是namespace="http://axis.apache.org"
output namespace="http://192.168.192.74:8080/axis/services/Version"
问题:
请问在那里设置 axis wsdl input namespace 和wsdl output namespace
谢谢。
问题点数:100、回复次数:7Top
1 楼treeroot(旗鲁特)回复于 2006-03-17 11:07:16 得分 50
只能参考sproxy 的使用了Top
2 楼hyqer(heyiqing)回复于 2006-03-17 11:16:54 得分 0
sproxy 是用来生成c++代码的,其用法没有什么特别的,我是不会设置axis,希望指教。Top
3 楼hyqer(heyiqing)回复于 2006-03-17 11:20:34 得分 0
并且msnd的文章已经指出问题所在,就是webservice的两个namespace不一致。
treeroot一定是axis高手,请帮忙看看Top
4 楼mudboy()回复于 2006-03-17 13:39:08 得分 30
在server-config.wsdd中你定义服务的地方可以定义,增加如下类似的东档:
<beanMapping qname="myNS:Request" xmlns:myNS="http://input.abc.com" languageSpecificType="java:com.abc.input.Request"/>
输入输出都要指定,用一样的就行,
其实,你用gSOAP来生成C/C++代码就完全可以支持不同的名称空间Top
5 楼hyqer(heyiqing)回复于 2006-03-22 15:28:15 得分 0
测试通过后再结Top
6 楼Earthdog(没有女朋友,郁闷!)回复于 2006-03-22 18:04:12 得分 20
你是在.NET中使用Managed C++吧,sproxy生成的代理类对于java提供的web service支持不是太好,如果你是使用.NET来做的话,可以使用C#的WSDL来生成代理类试试,这个生成的兼容性好好一些,反正在.NET中你使用Managed C++也可以调用C#生成的dllTop
7 楼hyqer(heyiqing)回复于 2006-04-05 18:50:09 得分 0
Earthdog的方法可以,不过我们的项目不能用.net.Top




