为什么我不能ping我的服务? - WSDL

时间:2015-02-13 19:02:32

标签: java soap wsdl

我正在尝试使用SOAP使用WSDL创建Spring Boot服务。我在xsd中定义了ping服务。

...
<xs:element name="ping" type="tns:ping"/>
<xs:complexType name="ping">
    <xs:sequence/>
  </xs:complexType>
...

当我从服务器获取WSDL时,这是我获得的ping服务:

...
<xs:element name="ping" type="tns:ping"/>
<xs:complexType name="ping">
<xs:sequence/>
</xs:complexType>
...
<wsdl:message name="pingResponse">
<wsdl:part element="tns:pingResponse" name="pingResponse"></wsdl:part>
</wsdl:message>
...
<wsdl:operation name="ping">
<wsdl:output message="tns:pingResponse" name="pingResponse"></wsdl:output>
</wsdl:operation>
...

我使用java中的注释进行配置:

@Endpoint
public class RmisEndpoint {
    private static final String NAMESPACE_URI = "http://schema.stuff.org/riskonnect-service/v1_0";

    @PayloadRoot(namespace = NAMESPACE_URI, localPart = "ping")
    @ResponsePayload
    public PingResponse ping() {
        PingResponse pingResponse = new PingResponse();
        return pingResponse;
    }
}

以下是我在xml请求中发送的SOAP

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:v1="http://schema.stuff.org/riskonnect-service/v1_0">
   <soapenv:Header/>
   <soapenv:Body>
      <v1:ping/>
   </soapenv:Body>
</soapenv:Envelope>

我使用curl使用此命令来命中服务:

curl --header "content-type: text/xml" -d @request.xml http://localhost.org:8080/ws

我可以从服务中获取WSDL,但我没有点击我的ping方法。我需要做什么?

0 个答案:

没有答案