2009-07-22 9 views
0

.NET WSE SoapTcpTransport.GetInputChannelまたはより具体的にはSoapReceivers.Add(IPv6アドレスをカバーで取得する)を使用するIPv6アドレスを取得できません。惑星の他の誰もこの問題を抱えていないようだから、私は何か間違っていると思う。IPv6とSoapTcpTransport.GetInputChannel(WSE)

IPv4アドレスとポート(soap.tcp://192.168.0.198:9063)を使用してSOAP入力チャネルを作成すると、すべてうまくいくように見えます。同じネットワークアダプタ(soap.tcp:// [fe80 :: c450:7142:67f5:ad66%11]:9063)にIPv6アドレスを使用すると、SoapTcpTransport.GetInputChannelが例外をスローします。 "System.ArgumentException:WSE813:次のトランスポートアドレスをローカルネットワークインターフェイスにマップできませんでした:soap.tcp:// [FE80:0000:0000:C450:7142:67F5:AD66]:9063/.. "

唯一の違いUriがIPv4アドレスまたはIPv6アドレスで作成されていることです。両方のアドレスがpingに応答します。この動作は、私が問題を再現MSユニットテストを持っているMicrosoft.Web.Services2と3の両方で同じです:私はこのsame question on the MSDN forumsを求めている

[TestMethod] 

public void ShouldConstructInputChannelWithIpv6Address_Selfcontained() 
{ 

    Uri via = new Uri("soap.tcp://[fe80::c450:7142:67f5:ad66%11]:9063"); 

    EndpointReference receiveEndpoint = new EndpointReference(via); 

    SoapTcpTransport soapTransport = new SoapTcpTransport(); 

    ISoapInputChannel inputChannel = soapTransport.GetInputChannel(receiveEndpoint, SoapChannelCapabilities.ActivelyListening); 
    inputChannel.Close(); 

    Assert.IsTrue(true); // If it makes it this far without an exception, then that's progress. 
} 

答えて

0

私はお詫び申し上げます。私は何とかあなたの質問を逃した。私はASMXフォーラムで答えました:

"WSE is Obsolete - Use Only If Necessary"を認識していますか?