1

当我使用 Netbeans v 6.7.1 创建 Web 服务客户端时收到这些警告,提供以下 wsdl。

解析 WSDL...

[警告] 端口 "ComposedWebServicePort" 不是 SOAP 端口,它没有soap:address
line 29 of file:/C:/Users/blavi/Documents/NetBeansProjects/ComposedClient/xml-resources/web-service-references/ComposedWebService/ wsdl/ComposedWebService.wsdl

[警告] 端口“ComposedWebServiceServicePort”:不是标准的 SOAP 端口。生成的工件可能不适用于 JAXWS 运行时。文件的第 29 行:/C:/Users/blavi/Documents/NetBeansProjects/ComposedClient/xml-resources/web-service-references/ComposedWebService/wsdl/ComposedWebService.wsdl

触发警告的 WSDL 是:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" name="ComposedWebService" targetNamespace="http://j2ee.netbeans.org/wsdl/CompositionBpelModule/ComposedWebService" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" xmlns:tns="http://j2ee.netbeans.org/wsdl/CompositionBpelModule/ComposedWebService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl">
    <types/>
    <message name="EnterComposition">
        <part name="compositionIN" type="ns0:string"/>
    </message>
    <message name="ExitComposition">
        <part name="compositionOUT" type="ns0:string"/>
    </message>
    <portType name="ComposedWebServicePortType">
        <operation name="ComposedWebServiceSOperation">
            <input message="tns:EnterComposition" name="input1"/>
            <output message="tns:ExitComposition" name="output1"/>
        </operation>
    </portType>
    <binding name="ComposedWebServiceBinding" type="tns:ComposedWebServicePortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ComposedWebServiceOperation">
            <soap:operation soapAction="http://j2ee.netbeans.org/wsdl/CompositionBpelModule/ComposedWebService/ComposedWebServiceOperation" style="document"/>
            <input name="input1">
                <soap:body use="literal"/>
            </input>
            <output name="output1">
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>
    <service name="ComposedWebService">
        **<port binding="tns:ComposedWebServiceBinding" name="ComposedWebServicePort">**
            <soap:address location="http://localhost:8184/ComposedWebService/ComposedWebServicePort"/>
        </port>
    </service>
    <plnk:partnerLinkType name="ComposedWebServicePLT">
        <plnk:role name="compositionPartnerLinkType" portType="tns:ComposedWebServicePortType"/>
    </plnk:partnerLinkType>
</definitions>

标有 ** 的行是出现警告的第 29 行。当我尝试调用具有此 wsdl 的 Web 服务时,我总是得到 Unsupported Endpoint Address Exception。这些警告和异常可以相关吗?我该如何解决这个问题?

谢谢

4

1 回答 1

0
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

SOAP 命名空间声明不正确;它应该有一个尾部正斜杠。

<part name="compositionOUT" type="ns0:string"/>

如果我没记错的话,这里需要一个element属性。


组合WebServiceServiceService

更简洁的名称可能会使文档更具可读性。

于 2011-05-22T17:30:31.407 回答