在Spring Boot SOAP端点中接收字符串

时间:2018-03-14 18:46:12

标签: java spring spring-boot soap

我需要在Spring-boot中创建一个Endpoint来接收SOAP请求,但我需要该请求是一个Java String。我有类似的东西:

配置:

@Bean(name = "myService")
    public DefaultWsdl11Definition receiveM2Definition(XsdSchema mySchema) {
        DefaultWsdl11Definition wsdl11Definition = new 
        DefaultWsdl11Definition();
        wsdl11Definition.setPortTypeName("testPort");
        wsdl11Definition.setLocationUri("/my");
        wsdl11Definition.setTargetNamespace("http://test/me");
        wsdl11Definition.setSchema(mySchema);
        return wsdl11Definition;
}

端点:

@PayloadRoot(
namespace       = "http://test/me", 
localPart       = "getMyRequest"
)
@ResponsePayload
    public JAXBElement<String> getReq(@RequestPayload 
JAXBElement<String> request) {
 .......   }

这项工作正常,但我需要我的端点为我的客户端而不是JAXBElement接收String。 这可能吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

在我的Schema.xsd中执行此操作正常:

<!-- Operations -->
<xs:element name="getRequest" type="xs:string">
</xs:element>

<xs:element name="getResponse" type="xs:string">
</xs:element>