我使用Spring WS开发了一个Web服务。示例端点操作如下所示:
@ResponsePayload
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "SendSmsRequest")
public SendSmsResponse sendSms(@RequestPayload SendSmsRequest sendSmsRequest) {}
此操作的xsd:
<xs:element name="SendSmsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="mobileNo" type="tns:MobileNoString" />
<xs:element name="text" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SendSmsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tns:BaseResponse" />
</xs:complexContent>
</xs:complexType>
</xs:element>
不幸的是,我们的合作伙伴公司开发团队告诉我,他们无法使用对象类型(!!!),这就是为什么我必须将所有复杂类型更改为简单(多个String输入参数和单个String作为返回类型) )。
我可以使用Jax-WS Metro项目:
@WebMethod
public String sayHello(@WebParam(name = "name") String name) {
return String.format("Hello, %s!", name);
}
我可以使用Spring WS执行此操作,还是必须切换到Metro?