Delphi 2010とIndyを使用してWebサービスを使用しようとしています。私のプログラムで作成したものと比較するために使用可能なSOAPストリームを確立するために、私はSOAPUIでテストしています。私は、WSDLファイルで指定されたSOAPストリームと一致するWebサービスプロバイダによって提供されるSOAPストリームを使用しています。私はサービスからHTTP 400(悪い要求)エラーを受け取りました。SOAPUIの不正リクエスト
オンラインで見つかったところからは、HTTP 400エラーを受け取ると、SOAPリクエストが不正であり、Webサービスで読み取れないことが示されます。私はXMLPadを使用してSOAPストリームをテストしましたが、XMLはうまく構成されているようです。私はこれが、何かがそのスキーマ要件に合致しないことを意味するかもしれないと思います。プレーンテキストとして送信されないことが予想される場合は、まずパスワードのスキーマの説明をチェックします。 HTTP 400のエラーを取り除くために何をチェックするべきですか?
は、ここでそれが助け場合、私の要求(以下、ユーザ名とパスワード)である:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:xop="http://www.w3.org/2004/08/xop/include"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://wwww3.org/2001/XMLSchema-instance">
<soap:Header>
<wsa:Action>http://edd.ca.gov/SendTransmission</wsa:Action>
<wsa:MessageID>urn:uuid:5aa788dc-86e1-448b-b085-2d2743cf9f26</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To>http://fsettestversion.edd.ca.gov/fsetproxy/fsetservice.asmx</wsa:To>
<wsse:Security soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken">
<wsse:Username>#USERNAME#</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">#PASSWORD#/wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">O5QWht1bslLCX6KnlEypAA==</wsse:Nonce>
<wsu:Created>2012-02-29T22:32:38.250Z</wsu:Created>
</wsse:UsernameToken>
<wsu:Timestamp wsu:Id="Timestamp-805a7373-335c-43b6-ba21-6596c4848dbf">
<wsu:Created>2012-02-22T15:41:42Z</wsu:Created>
<wsu:Expires>2012-02-22T15:46:42Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<SendTransmission xmlns="http://edd.ca.gov/">
<SendTransmissionRequest xmlns="http://www.irs.gov/a2a/mef/MeFTransmitterServiceWse.xsd">
<TransmissionDataList>
<Count>1</Count>
<TransmissionData>
<TransmissionId>123456789</TransmissionId>
<ElectronicPostmark>2012-02-22T07:41:42.2502206-08:00</ElectronicPostmark>
</TransmissionData>
</TransmissionDataList>
</SendTransmissionRequest>
<fileBytes>
<xop:Include href="cid:[email protected]"/>
</fileBytes>
</SendTransmission>
</soap:Body>
</soap:Envelope>
EDDですぐに利用できる人はあまり役に立たないようです。私はいくつかのことに集中できるように、このプロジェクトをしばらくお待ちしていました。私はそれに戻らなければならないだろうが、私はまだ時間を置いていない。私は努力を組み合わせること以上に喜んでいます。 SOにはプライベートメッセージ機能があるとは思えませんが、コラボレーションを心がけている方はもう一度コメントして、オフラインでコミュニケーションをとる方法を見つけ出します。それは、「ルールを破る」していない場合 – jrodenhi
、私は私の電子メールを投稿できる –
実は、私のメールアドレスは私のプロファイルです。私はあなたのメールアドレスを掲載するとの唯一の問題は、それはあなたがスパムの束を得ることにつながる可能性があることだと思います。私はあなたの電子メールアドレスを投稿しないことは、沢山のスパムを取得しないことにつながるとは思っていませんが、誰が私は言うのですか? – jrodenhi