私は.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>
私は開発マシン上のウィンドウのファイアウォールを無効にしました。バインディングのIPアドレスフィールドに「未割り当て」のWebサイトがあるため、Webサービスが特定のIPにバインドされているとは思われませんIISで。認証に関しては、認証を設定していないので、これは問題ではないと思います。 – amickj
SOAPリクエスト/レスポンはどうですか?それらをデバッグするか、またはsoapUIのようなクライアントツールを使用してください。 HTTP 400エラーはどこにありますか?サーバーまたはクライアント側ではどこですか? – Matten
はい、私はSoapUIを使用しています。以下は私の要求と応答です。 – amickj