Axis2WSDL2Java:失踪没有-arg操作中产生的存根
-
11-07-2019 - |
题
我有在我的网络服务的一个简单的 public boolean isAlive()
服务。我定义,它在我WSDL:
<wsdl:types>
<xsd:element name="isAliveResponse" type="xsd:boolean">
</xsd:element>
</wsdl:types>
<wsdl:message name="isAliveResponse">
<wsdl:part element="ns:isAliveResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="myService">
<wsdl:operation name="isAlive">
<wsdl:output message="ns:isAliveResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="myServiceSOAP" type="ns:myService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="isAlive">
<soap:operation soapAction="http://myServiceURL/isAlive" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
当我生成的服务的骨架的方法产生的,但不是在客户的存根。是有一个问题,在WSDL?我应该把wsdl:输入,甚至如果这种方法没有论点(我没有把整个WSDL但所有其他方法用"要求"arg都产生)?如果我必须把wsdl:输入会是什么它的消息吗?
编辑 :经验证WSDL下蚀我的警告 WS-I: (BP2208) wsdl:operation was not a request/response or one-way operation
搜索后我找到一个描述这里: http://www.ws-i.org/Testing/Tools/2005/01/BP11_TAD_1-1.htm#BP2208 (似乎锚不工作),所以我猜错误可能是丢失的wsdl:输入。
解决方案
正如我的编辑说,问题是缺少WSDL:输入。通过添加
<wsdl:input message="ns:isAliveRequest" />
和
<wsdl:message name="isAliveRequest"></wsdl:message>
然后我原来的问题就解决了......最后,我要寻觅更多的由我自己之前问的SO:(
其他提示
我不知道,如果这是你的问题,但下面的行似乎也没有关闭标签:
<wsdl:types>
<xsd:element name="isAliveResponse" type="xsd:boolean">
</wsdl:types>
它应该是这样的:
<wsdl:types>
<xsd:element name="isAliveResponse" type="xsd:boolean"/>
</wsdl:types>
希望这有助于。
不隶属于 StackOverflow