2017-02-27 9 views
3

WCFサービスがあり、SOAP UI PROで使用しようとしています。最初の実行時には、次の応答が返されました。SOAP-UI UI/SOAP UI PROのコンテンツタイプapplication/soap + msbin1

HTTP/1.1 415コンテンツタイプ 'application/soap + xml; charset = UTF-8;」が原因でメッセージを処理できません。期待されるタイプ 'application/soap + msbin1'ではありませんでした。

I(すなわちコンテンツタイプアプリケーション/石鹸+ msbin1)私はのContent-Typeヘッダを追加しなければならないと私はそのようにしたことを見出しました。しかし、今まで進化エラー:

HTTP/1.1 400不正な要求

は私がバイナリエンコードがSOAP UI/SOAPのUI PRO/READY APIでサポートされていないことを学んだ、と私この発見の後でちょっと詰まった。

この問題の回避策があるかどうかは疑問でした。したがって、誰かがGroovyスクリプト、プラグイン、ライブラリ、またはSOAP UI PROでバイナリエンコーディングを統合するために別のものを使用することができたかどうか。

ご協力いただきまして誠にありがとうございます。

+0

Chormeの拡張子「POSTMAN」を使用して同じことを試してみると、結果はどうなりますか? – Rao

+0

@Rao - 正確に同じこと... –

+0

あなたは正しい要求を送ることを願っています。 – Rao

答えて

2

application/soap + msbin1は、WCFのバイナリエンコーディングです。テキストエンコードでリクエストを送信しています。だからこそ、サーバー側は:悪い要求を与える理由です。

私が知る限り、SoapUIはapplication/soap + msbin1エンコーディングをサポートしておらず、利用可能なプラグインはありません。

あなたはSOAPUIでサービスをテストする必要がある場合は、2つのオプションがあります:

  1. 変更サービス(サーバー側)(web.configファイル内の設定によって)をコードするテキストにを結合します。 WCFクライアントはバイナリ(application/soap + msbin1)エンコーディングを使用できますが、サービスは複数のバインディングを持つことができます。 WCF以外のクライアント(SoapUIなど)との相互運用性を実現するには、テキストのエンコーディングが必要です。 Microsoft documentationを確認できます。

  2. SOAPリクエストをバイナリデータにエンコードし、HTTP PUTリクエストとして送信します。もちろん、それを理解するためにサービス応答をデコードする必要もあります。これは1回限りのテストのための方法かもしれません。それ以外の場合は面倒です。 Groovyスクリプトを使ってバイナリのエンコーディング/デコードを行うことができます。多くのテストが必要な場合に備えて、プログラミングが必要です。

私は間違いなく最初のオプションをお勧めします。

カレル