0
SOAPプルを作成しようとしています。私はメッセージを正しくフォーマットするのが難しいです。Javaを使用して複数のURIをSOAPエンベロープに追加する
私だけ含まのjavax.xml.soapを使用しています。Exclipse
と*ライブラリーを、私はそれに複数のURIを持っている封筒を必要としています。これは、SOAPUIで使用するための例です。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sh="http://www.website.com/ems/soap/sh" xmlns:user="http://www.website.com/ems/soap/sh/userdata" xmlns:ser="http://www.website.com/ems/soap/sh/servicedata">
は、しかし、いくつかのチュートリアルを見た後、私は必要な出力を達成する方法上の任意のドキュメントを見つけることができていないいるだけ
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sh="http://www.website.com/ems/soap/sh">
を生成することができています。私はまだSOAPとJavaの新機能ですので、必要なものを正確に表現する方法がわかりません。ここで
は、私が持っているコードは、この石鹸・エンベロープを取得したい場合は、
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sh="http://www.website.com/ems/soap/sh" xmlns:user="http://www.website.com/ems/soap/sh/userdata" xmlns:ser="http://www.website.com/ems/soap/sh/servicedata">
はちょうどこのようなあなたのコードの後にaddNamespaceDeclarationを追加マイナス子要素部分
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage soapMessage = messageFactory.createMessage();
SOAPPart soapPart = soapMessage.getSOAPPart();
soapMessage.getSOAPPart().getEnvelope().setPrefix("soapenv");
soapMessage.getSOAPPart().getEnvelope().removeNamespaceDeclaration("SOAP-ENV");
soapMessage.getSOAPBody().setPrefix("soapenv");
soapMessage.getSOAPHeader().setPrefix("soapenv");
String serverURI = "http://www.website.com/ems/soap/sh";
// SOAP Envelope
SOAPEnvelope envelope = soapPart.getEnvelope();
envelope.addNamespaceDeclaration("sh", serverURI);
ありがとうございました。それはまさに私が探していたものです。私はあなたの答えに投票しました。 – DPersson