2017-06-08 26 views
0

私は、WCFのSOAP Webサービスを開発してきましたし、テストの目的のために、私は、SOAP UIを使用しますが、私は次のような問題があります。私はこのようなIPアドレスを使用してWebサービスをテスト)WCF SOAP 404エラー

1:

私は、ホスト名を使用して(このようなWebサービスをテストする場合

http://XXX.XXX.XXX.XXX:81/SIDIGE.Web.Service.CanDoc.svc?wsdl

と、すべてが正常に動作し、私は)今の問題

2)せずにWebサービスを使用することができます。

http://hp_webserver:81/SIDIGE.Web.Service.CanDoc.svc?wsdl

私は、サーバーに情報を投稿するとき(私はブラウザを使用し、それが動作アドレス、ない404エラーを入力した場合)私は404エラーを取得する

私はこれと何に関するすべての質問を読みました....任意のアイデアを動作させるようですか?

私のweb.configファイルは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
 
<configuration> 
 
    <connectionStrings> 
 
     <add name="servidorRemoto" connectionString="Data Source=XXX\XXX; Initial Catalog=XXX" providerName="System.Data.SqlClient" /> 
 
    </connectionStrings> 
 
    <appSettings> 
 
     <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
 
    </appSettings> 
 
    <system.web> 
 
     <compilation debug="true" /> 
 
    </system.web> 
 
    <!-- When deploying the service library project, the content of the config file must be added to the host's 
 
    app.config file. System.Configuration does not support config files for libraries. --> 
 
    <system.serviceModel> 
 
     <services> 
 
      <service name="SIDIGE.Web.Service.CanDoc" behaviorConfiguration="ServiceBehavior"> 
 
       <endpoint address="CanDoc" binding="basicHttpBinding" contract="SIDIGE.Web.IService.ICanDoc" bindingNamespace="http://sidige.com/candoc" /> 
 
       <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
 
       <host> 
 
        <baseAddresses> 
 
         <add baseAddress="http://XXX.XXX.XXX.XXX:81" /> 
 
        </baseAddresses> 
 
       </host> 
 
      </service> 
 
     </services> 
 
     <behaviors> 
 
      <serviceBehaviors> 
 
       <behavior name="ServiceBehavior"> 
 
        <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" /> 
 
        <serviceDebug includeExceptionDetailInFaults="True" /> 
 
        <useRequestHeadersForMetadataAddress> 
 
         <defaultPorts> 
 
          <!-- Use your own port numbers --> 
 
          <add scheme="http" port="81" /> 
 
         </defaultPorts> 
 
        </useRequestHeadersForMetadataAddress> 
 
       </behavior> 
 
      </serviceBehaviors> 
 
     </behaviors> 
 
    </system.serviceModel> 
 
    <system.webServer> 
 
     <directoryBrowse enabled="false" /> 
 
    </system.webServer> 
 
</configuration>

+0

2番目のシナリオをテストするときにweb.configの 'baseAddress'を変更しますか? – tomassino

+0

いいえ私は(どちらのシナリオでもうまく動作する別のサーバーを持っています) – Pedro

+0

IISでサービスをホストする場合、基本アドレスはIIS Virutal Directoryと.svcファイルによって決まります。私はあなたの設定ファイルでベースアドレス要素を使う必要はないと言います。 IISによって決定されます –

答えて

0

問題は私の一部または構成ではなかったです。テストクライアント(SOAP UI)でした。プロキシネットワークにはいくつか問題があるようです。