我正在尝试使用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
方法。我需要做什么?