2011-07-04 23 views
0

複数のパラメータを取るWebサービスメソッドがあります。 BodyStyle = WebMessageBodyStyle.Wrappedが設定されます。 Webサービスクライアントからこのメソッドにアクセスしたいのですが、サービスメソッドのURLをReference-> Addサービスに追加しました。次のエラーが表示されます。asp.netのWebサービスからラップされたリクエストWebメソッドをアクセス

「 'にhttp:// localhost:8080/API/StoreI' をダウンロード中にエラーがありました。

要求はHTTPステータス405で失敗しました:メソッドは許可されていません

メタデータにはできないの参照が含まれています

応答メッセージのコンテンツタイプapplication/jsonがバインディングのコンテンツタイプと一致しません(application/soap + xml; charset = utf -8)

カスタムエンコーダを使用している場合は、 IsContentTypeSupportedメソッドが正しく実装されていることを確認してください。

レスポンスの最初の323バイトは次のとおりです。 '{"ErrorCode":110、 "ErrorDetails":null、 "Message": "受信メッセージには予期しないメッセージフォーマット' Raw 'があります。

これは、バインディングでWebContentTypeMapperが構成されていないことが原因です。詳細は、WebContentTypeMapperのドキュメントを参照してください。 "} '。

リモートサーバーがエラーを返しました:(500)内部サーバーエラー。 サービスが現在のソリューションに定義されている場合は、ソリューションを構築してサービスリファレンスを再度追加してみてください」 セキュリティで保護されたWebサービスにアクセスするにはどうすればよいですかクライアント? 私は、Webサービスへの新しい。 返事が高く評価されるだろう。 感謝。

答えて

0

私は専門家ではないですが、変更 bodyStyle属性= WebMessageBodyStyle.Wrapped へ bodyStyle属性= WebMessageBodyStyle.Bare

操作説明にラップされた使用は、メッセージ本文にセキュリティのレイヤーを追加しません。要求(またはレスポンス)をXML要素にラップするだけです。

+0

しかし、複数のパラメータを取るWebサービスメソッドの場合、BodyStyleはラップされていると言わなければなりません。 –

関連する問題