我在我的web服务中有一个简单的public boolean isAlive()
服务。 我在WSDL定义它:Axis2 WSDL2Java:在生成的存根中缺少无参数操作
<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:input(我没有放置整个WSDL,但所有其他方法都带有“request”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:输入。
这只是一个错误在我的复制/粘贴,但原来是正确的...我编辑了问题,以纠正这一问题。 – Vinze 2008-11-25 15:00:41