2011-10-09 6 views
0

SOAP情報のないリクエストがありますが、SOAPエンベロープでそれをラップする必要があります。過去に私は手動でStringBuilderを使用してエンベロープを構築し、リクエストを本体に入れましたが、より一般的な方が良いでしょうか?例が役に立ちます。Soap Envelopeでリクエストを折り返しますか?

例:私は上記の言ったように、私はただのStringBuilderを使用してSOAPエンベロープを構築し、本体部分に上記のXMLを入れている

<UpdateQuantity> 
    <Product id="1234"></Product> 
    <Qty>10</Qty> 
</UpdateQuantity> 

私は次のようなものを持っています。そのアプローチに固執するのが一番ですか、より一般的な方法がありますか?リクエストで変更でき、まだStringBuilderを使用しているすべてのSOAPパラメータを取得するメソッドを記述する必要がありますか?

+0

サービスのWSDLにアクセスできませんか?最善の方法は、 "Add Service Reference"を使用してWSDLを指すことです。それはあなたのためにすべての仕事を行います。 'StringBuilder'を使うことはこれを行う最悪の方法の一つです。 –

+0

@JohnSaunders、私はWSDLにアクセスできない。それに加えて、SOAPリクエストはクライアントごとに異なるので、これは私がジェネリックで意味するものです。私はStringBuilderが良いアプローチではないことを知っているので、私は質問した。 – Xaisoft

+0

これは非常に奇妙です。 SOAPの基本は、SOAP要求がWSDLによって定義されているという事実です。あなたは_必ずWSDLを与える必要があります。オンラインでアクセスする必要はありません。彼らはあなたにそれを電子メールで送ることができます。 –

答えて

0

サービスを実行する場合は、サービスWSDLにアクセスする必要がありますか?単一のサービスの場合、どのように要求がクライアントとクライアントで異なるのですか? サービスwsdlを取得し、公理ライブラリを使用して標準SOAPメッセージを作成する最善の方法..

+0

私たちはクライアントの要求(クライアントが私たちに送るもの)を制御しません。要求は似ていますが、クライアントが遵守しなければならない標準はありません。 – Xaisoft