2011-08-15 5 views
0

私は.Net 4.0フレームワークを使用してWebサービスをコーディングしており、IISのWebサイトにアプリケーションを公開した後、ローカルマシン上のテストクライアント(SoapUI)を使用して正常に呼び出すことができます。生成されたスタブとWSDLは、ローカルマシンとネットワーク上の他のマシンからアクセスできますが、別のマシンからWSエンドポイントへの投稿を行うことはできません。私は、ローカルマシンからWSエンドポイントに投稿し、期待される応答を得ることができます。 WSエンドポイントに投稿しようとすると、HTTP 400エラーが表示されます.HTMLでは「HTTPエラー400。要求が不正に形成されています。これは私のIIS構成やアプリケーションファイルへのアクセス許可に問題がありますか?ローカルネットワーク上の他のマシンで.NET 4.0 Webサービスを使用できるように設定するにはどうすればよいですか?

注:Java開発者は、ここでは、学習の過程で.Net。

編集:私はWindowsファイアウォールを無効にしており、IISマネージャーでWebサイトのバインドIPアドレスを「未割り当て」に設定しています。

編集:要求/応答

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:add="http://mymachinenamewashere/SeflAddressService/AddressService.asmx"> 
    <soapenv:Header/> 
    <soapenv:Body> 
    <add:CheckAddress> 
     <add:chkAddress> 
      <add:chkCompanyName>XXX</add:chkCompanyName> 
      <add:chkStreet1>420 Davega Rd.</add:chkStreet1> 
      <add:chkStreet2/> 
      <add:chkCity>Lexington</add:chkCity> 
      <add:chkState>SC</add:chkState> 
      <add:chkZipcode5>29169</add:chkZipcode5> 
      <add:chkZipcode4/> 
      <add:chkSuite/> 
     </add:chkAddress> 
     </add:CheckAddress> 
    </soapenv:Body> 
</soapenv:Envelope> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> 
<HTML><HEAD><TITLE>Bad Request</TITLE> 
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD> 
<BODY><h2>Bad Request</h2> 
<hr><p>HTTP Error 400. The request is badly formed.</p> 
</BODY></HTML> 

答えて

0

問題は、クライアントとSoapUI v2.5が名前空間を持たない不正な要求を作成していたことでした。私は最終的にどこのログファイルを見つけ出し、Wiresharkを使用していくつかの要求をキャプチャしました。 SoapUI v4.Xにアップグレードしても正常に動作します。私は名前空間を含むようにクライアントを修正しています(私のクライアントコードを生成するためのフレームワークは動作していないか、正しく設定されていないようです)。

0

発生する可能性のあるエラー:特定のIPにバインド

  • Webサービス
  • ファイアウォールの設定
  • 真偽?

SOAP要求と応答を確認しましたか?

+0

私は開発マシン上のウィンドウのファイアウォールを無効にしました。バインディングのIPアドレスフィールドに「未割り当て」のWebサイトがあるため、Webサービスが特定のIPにバインドされているとは思われませんIISで。認証に関しては、認証を設定していないので、これは問題ではないと思います。 – amickj

+0

SOAPリクエスト/レスポンはどうですか?それらをデバッグするか、またはsoapUIのようなクライアントツールを使用してください。 HTTP 400エラーはどこにありますか?サーバーまたはクライアント側ではどこですか? – Matten

+0

はい、私はSoapUIを使用しています。以下は私の要求と応答です。 – amickj

関連する問題