私たちは、次のXMLを返すことを期待私たちを呼び出して、Webサービス:変更JAX-WS出力の名前空間接頭辞
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:loc="http://www.csapi.org/schema/parlayx/sms/notification/v2_2/local">
<soapenv:Header />
<soapenv:Body>
<loc:notifySmsDeliveryReceiptResponse />
</soapenv:Body>
</soapenv:Envelope>
当社は、Webサービスを提供するために、JAX-WSを使用します。以下は、我々は、Webサービスのインタフェースを定義する方法である:
@BindingType(value = javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING)
@WebService (targetNamespace = "http://www.csapi.org/schema/parlayx/sms/notification/v2_2/local")
@HandlerChain(file = "deliverysoaphandler.xml")
@SOAPBinding(style = Style.DOCUMENT)
public interface DeliveryService {
@WebMethod()
public void notifySmsReception(
@WebParam(name = "correlator", targetNamespace = "http://www.csapi.org/schema/parlayx/sms/notification/v2_2/local") @XmlElement(required = true) String correlator,
@WebParam(name = "message", targetNamespace = "http://www.csapi.org/schema/parlayx/sms/notification/v2_2/local") @XmlElement(required = true) Message message
) throws DeliveryException;
}
これは、次の戻りドキュメントを生成します。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<S:Body>
<ns2:notifySmsReceptionResponse xmlns:ns2="http://www.csapi.org/schema/parlayx/sms/notification/v2_2/local"/>
</S:Body>
</S:Envelope>
私たちは、文書が、呼び出し元のシステムが期待するものと同じで不可欠であるが、ので、拒否されたと思います1)名前空間が大文字にされている、2)同じ名前空間参照が繰り返されている、3)文書の途中に名前空間宣言がある。
私は、他のシステムが望んでいるものを作り出すようにJAX-WSプロバイダを説得することはできますか?