DOBON.NET DOBON.NETプログラミング掲示板過去ログ

リモートサーバーに接続できません(XML WEB)

環境/言語:[WindowsVistaUltimate、IIS 7.0、Visual Studio 2010、.NET Framework2.0]
分類:[ASP.NET]

XML Webサービスを使用してアプリケーションを作成しております。
ネットワークのコンピュータからアクセスすると「リモートサーバーに接続できません」とエラーが表示されてしまいます。
web参照のURLをlocalhostからコンピュータ名に変更しようとすると「リモートサーバーに接続できません。対象のコンピュータによって拒否されたため、接続できませんでした。」と表示されてしまい変更することができません。ファイアウォールは無効にしましたが改善されません。
おわかりの方よろしくご教授願います。
2009/08/11(Tue) 16:49:06 編集(投稿者)

> web参照のURLをlocalhostからコンピュータ名に変更しようとすると「リモートサーバーに接続できません。対象のコンピュータによって拒否されたため、接続できませんでした。」と表示されてしまい変更することができません。ファイアウォールは無効にしましたが改善されません。

  ウィルスチェッカー等でのパーソナルファイアウォールなんかも
  ポートを開ける設定が必要ですが・・・
  そういうものは導入されてませんか?

  拒否されたと言うことは、パケットは到達し吟味されて、その返
  答の結果なので、何かの設定のみだと思われますが・・・

  それと・・・
  動かないから・・・と手当たり次第に無効化するのはどうかと。
  正しく設定すれば、無効化しなくても問題なく動作します。
  正しい方法を身につけて下さい。

以上。
# お役に立てるか分かりませんが、確認させてください

1.あなたのPCのIISで、Webサービスがホストされている
2.あなたのPCのクライアントアプリから、あなたのPCのWebサービスは使用できる
3.あなたのPCのWebブラウザで、あなたのPCのWebサービスのURLにアクセスすると、ヘルプページが表示される
4.他のPCのクライアントアプリから、あなたのPCのWebサービスが使用できない
5.他のPCのWebブラウザから、あなたのPCのWebサービスのURLにアクセスしてもヘルプページが表示されない
6.あなたのPCのVisualStudioで、あなたのPCのWebサービスの参照追加が、コンピュータ名を指定するとうまくいかない

この認識であっていますか?
ご返信ありがとうございます。

現状は閉じたネットワークのためウィルスソフト、パーソナルファイアウォール等は導入していません。
また、「H.K.R. 付き人さん」の認識で間違いありません。

よろしくお願いします。
お疲れ様です

1.他のPCから、あなたのPCにpingは通りますか?
  (コマンドプロンプトでping あなたのPCのIPアドレス)

2.あなたのPCのIISでHTMLファイル(中身は何でもよい)を公開した場合、
  他のPCのWebブラウザからそのHTMLファイルを表示できますか?
  ・WebブラウザのURL欄でコンピュータ名を指定した場合
  ・WebブラウザのURL欄でIPアドレスを指定した場合
■No25184に返信(H.K.R.さんの記事)
> お疲れ様です
>
> 1.他のPCから、あなたのPCにpingは通りますか?
>   (コマンドプロンプトでping あなたのPCのIPアドレス)
>
> 2.あなたのPCのIISでHTMLファイル(中身は何でもよい)を公開した場合、
>   他のPCのWebブラウザからそのHTMLファイルを表示できますか?
>   ・WebブラウザのURL欄でコンピュータ名を指定した場合
>   ・WebブラウザのURL欄でIPアドレスを指定した場合
>
他のPCからPINGおよびHTMLの表示はコンピュータ名、IPアドレスとも可能です。
よろしくお願いします。
お疲れ様です

↓のコードを拡張子asmxのファイル(ファイル名は任意)で保存して、
あなたのPCのIISの公開フォルダの下に配置し、
他のPCのWebブラウザからアクセスしてみてください

Webサービスのヘルプページが表示されますか?
それともソースコードがそのまま表示されますか?

<%@ webservice language="vb" class="MyTest" %>

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols

<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
Public Class MyTest
     Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function test01(byval ss as string) As String
        Return "こんにちは["+ss+"]さん"
    End Function

End Class
■No25187に返信(H.K.R.さんの記事)
> お疲れ様です
>
> ↓のコードを拡張子asmxのファイル(ファイル名は任意)で保存して、
> あなたのPCのIISの公開フォルダの下に配置し、
> 他のPCのWebブラウザからアクセスしてみてください
>
> Webサービスのヘルプページが表示されますか?
> それともソースコードがそのまま表示されますか?
>
> <%@ webservice language="vb" class="MyTest" %>
>
> Imports System.Web
> Imports System.Web.Services
> Imports System.Web.Services.Protocols
>
> <WebService(Namespace:="http://tempuri.org/")> _
> <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
> Public Class MyTest
> Inherits System.Web.Services.WebService
>
> <WebMethod()> _
> Public Function test01(byval ss as string) As String
> Return "こんにちは["+ss+"]さん"
> End Function
>
> End Class

お世話になります。
いただいたソースをIISに配置し、アクセスしたところソースが表示されました。localhostをコンピュータ名に変更した場合もソースが表示されました。
試しにアプリケーションで使用している仮想フォルダに配置したところ以下のエラーが表示されました。

【エラー内容】

構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

パーサー エラー メッセージ: 認識されない属性 'targetFrameworkMoniker' です。この属性は、大文字小文字を区別します。

ソース エラー:


行 35: Set explicit="True" to force declaration of all variables.
行 36: -->
行 37: <compilation targetFrameworkMoniker=".NETFramework,Version=v2.0">
行 38: <assemblies>
行 39: <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken

web.configの設定に誤りがあるのでしょうか?
よろしくお願いいたします。
■No25192に返信(pootさんの記事)
> 試しにアプリケーションで使用している仮想フォルダに配置したところ以下のエラーが表示されました。

Aspnet_regiis.exe を使ってみても駄目でしょうか?

手元に .NET 4.0(VS2010) + Vista の環境が無いので、細かい事は分かりませんが、
IIS の管理コンソールで、該当フォルダのプロパティを開き、
  ・[ASP.NET]のタブが表示されているか。
  ・ASP.NET バージョンの欄は、何になっているか。
を確認してみては如何でしょう。


# ASP.NET 2.0 環境に、.NET 4.0 の設定が紛れ込んでしまったのかも。
■No25193に返信(魔界の仮面弁士さんの記事)
> ■No25192に返信(pootさんの記事)
>>試しにアプリケーションで使用している仮想フォルダに配置したところ以下のエラーが表示されました。
>
> Aspnet_regiis.exe を使ってみても駄目でしょうか?
>
> 手元に .NET 4.0(VS2010) + Vista の環境が無いので、細かい事は分かりませんが、
> IIS の管理コンソールで、該当フォルダのプロパティを開き、
>   ・[ASP.NET]のタブが表示されているか。
>   ・ASP.NET バージョンの欄は、何になっているか。
> を確認してみては如何でしょう。
>
>
> # ASP.NET 2.0 環境に、.NET 4.0 の設定が紛れ込んでしまったのかも。

お世話になります。
IIS7.0の設定を確認したところ、ASP.NETのタブはありませんでした。アプリケーションプールは.NET2.0で構成されています。
該当フォルダの「.NETコンパイル」→「アセンブリ」→「すべてのアセンブリ」で確認したところ、バージョンが複数あったため
プログラムのFrameworkのバージョンを確認したところ、WebServiceのみ4.0になっていました。4.0から2.0に変更したところ、
asmxの表示は可能になりましたがいぜんとして「リモートサーバーに接続できません」のエラーが表示されてしまいます。

お手数おかけしますがよろしくお願いします。
お疲れ様です
確認させてください

1.Webブラウザからはasmxファイルを表示できた(あなたのPC、他のPCともに)
2.VSの「Web参照の追加」で1.と同じURLを指定するとうまくいかない
3.今回の問題がおきる前は、同じWebサービスをクライアントアプリから「Web参照の追加」で使用できていた

この認識であっていますか?
■No25197に返信(H.K.R.さんの記事)
> お疲れ様です
> 確認させてください
>
> 1.Webブラウザからはasmxファイルを表示できた(あなたのPC、他のPCともに)
> 2.VSの「Web参照の追加」で1.と同じURLを指定するとうまくいかない
> 3.今回の問題がおきる前は、同じWebサービスをクライアントアプリから「Web参照の追加」で使用できていた
>
> この認識であっていますか?
>
お世話様です。
1→自分のPCおよび他のPCで表示することは出来ましたが他のPCからWebメソッドを実行することが出来ませんでした。
2→コンピュータ名、IPを指定するとうまくいきません。
3→新規作成のアプリケーションになりますのでクライアントからエラーが表示されなかったことはありません。
よろしくお願い致します。
■No25201に返信(pootさんの記事)
> ■No25197に返信(H.K.R.さんの記事)
>>お疲れ様です
>>確認させてください
>>
>>1.Webブラウザからはasmxファイルを表示できた(あなたのPC、他のPCともに)
>>2.VSの「Web参照の追加」で1.と同じURLを指定するとうまくいかない
>>3.今回の問題がおきる前は、同じWebサービスをクライアントアプリから「Web参照の追加」で使用できていた
>>
>>この認識であっていますか?
>>
> お世話様です。
> 1→自分のPCおよび他のPCで表示することは出来ましたが他のPCからWebメソッドを実行することが出来ませんでした。
> 2→コンピュータ名、IPを指定するとうまくいきません。
> 3→新規作成のアプリケーションになりますのでクライアントからエラーが表示されなかったことはありません。
> よろしくお願い致します。

自己レスです。
1に関してはWeb.configに以下を追記し、
HTTP GET と HTTP POST の両方が有効にしました。
他のコンピュータからも実行出来る様になりました。

<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>

他に関しては進展ありません。よろしくお願致します。
お疲れ様です

1.<protocols>セクションに
  <add name="AnyHttpSoap"/>
  を追加しても2.がダメでしたか?
# 既に試されたと思いますが・・・

2.他のバージョンのVSでWeb参照の追加はできますか?

3.VSのコマンドプロンプトで
   DISCO asmxファイルのURL
  を実行してwsdlファイルを生成し、
   WSDL wsdlファイル名
  を実行するとプロキシクラスが作成できますか?
  (本で調べた知識なので、私も試してません)
■No25204に返信(H.K.R.さんの記事)
> お疲れ様です
>
> 1.<protocols>セクションに
>   <add name="AnyHttpSoap"/>
>   を追加しても2.がダメでしたか?
> # 既に試されたと思いますが・・・
>
> 2.他のバージョンのVSでWeb参照の追加はできますか?
>
> 3.VSのコマンドプロンプトで
>    DISCO asmxファイルのURL
>   を実行してwsdlファイルを生成し、
>    WSDL wsdlファイル名
>   を実行するとプロキシクラスが作成できますか?
>   (本で調べた知識なので、私も試してません)
>

上記試しましたが現象は改善されませんでした。

ソリューション自体を一から作り直したら改善しました。
旧バージョンのサンプルをバージョンアップしたため
その際に不具合が生じたのでしょうか?
直接的な原因はわかりませんでしたがいろいろと
教えていただきありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板