You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by Yves Langisch <li...@langisch.ch> on 2004/11/05 11:34:19 UTC

[WSS4J] C# interop issues with URI-Format

All,

We have a C#-client which receives a WSS4J-signed response from an Axis 
web service. During processing the response the C#-client throws 
following exception that the URI format is not valid:

Transmitting request to 
http://localhost:8000/piv/receiver/channel004/services/SalaryDeclaration
*** Exception Raised ***
System.UriFormatException: Ungültiger URI: Der URI-Format konnte nicht 
bestimmt werden.
   at System.Uri.Parse()
   at System.Uri..ctor(String uriString, Boolean dontEscape)
   at System.Uri..ctor(String uriString)
   at 
Microsoft.Web.Services2.SoapInputFilter.CanProcessHeader(XmlElement 
header, SoapContext context)
   at 
Microsoft.Web.Services2.Security.SecurityInputFilter.ProcessMessage(SoapEnvelope 
envelope)
   at Microsoft.Web.Services2.Pipeline.ProcessInputMessage(SoapEnvelope 
envelope)
   at Microsoft.Web.Services2.InputStream.GetRawContent()
   at Microsoft.Web.Services2.InputStream.get_Length()
   at System.Xml.XmlScanner..ctor(TextReader reader, XmlNameTable ntable)
   at System.Xml.XmlTextReader..ctor(String url, TextReader input, 
XmlNameTable nt)
   at System.Xml.XmlTextReader..ctor(TextReader input)
   at 
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 
message, WebResponse response, Stream responseStream, Boolea
n asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String 
methodName, Object[] parameters)
   at

Following a snippet from the response where URIs for the references appear:

ds:Reference URI="#id-4957398">
                     <ds:Transforms>
                        <ds:Transform 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                     </ds:Transforms>
                     <ds:DigestMethod 
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

<ds:DigestValue>AcwxtpUM+WfTNtZKDcYw9ua8Myc=</ds:DigestValue>
                  </ds:Reference>
                  <ds:Reference URI="#id-3341184">
                     <ds:Transforms>
                        <ds:Transform 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                     </ds:Transforms>
                     <ds:DigestMethod 
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

<ds:DigestValue>PRDyOjq9io0WLxEde7cVfVTTQ5I=</ds:DigestValue>
                  </ds:Reference>

C# normally uses longer URI's for references but this shouldn't make any 
difference. Any ideas/experiences or should I post this issue to a C# list?

Thanks
Yves

Re: [WSS4J] C# interop issues with URI-Format

Posted by Davanum Srinivas <da...@gmail.com>.
You can try to write a small C# to check the behavior of System.Uri
and see what is causing the problem....

Console.WriteLine((new
Uri("http://localhost:8000/piv/receiver/channel004/services/SalaryDeclaration")).LocalPath);

-- dims

PS: http://groups.google.com/groups?hl=en&lr=&safe=off&threadm=418143b5.285661239%40smtp.bjoern.hoehrmann.de&rnum=6&prev=/groups%3Fq%3DSystem.UriFormatException%26hl%3Den%26lr%3D%26safe%3Doff%26selm%3D418143b5.285661239%2540smtp.bjoern.hoehrmann.de%26rnum%3D6

On Fri, 05 Nov 2004 11:34:19 +0100, Yves Langisch <li...@langisch.ch> wrote:
> All,
> 
> We have a C#-client which receives a WSS4J-signed response from an Axis
> web service. During processing the response the C#-client throws
> following exception that the URI format is not valid:
> 
> Transmitting request to
> http://localhost:8000/piv/receiver/channel004/services/SalaryDeclaration
> *** Exception Raised ***
> System.UriFormatException: Ungültiger URI: Der URI-Format konnte nicht
> bestimmt werden.
>    at System.Uri.Parse()
>    at System.Uri..ctor(String uriString, Boolean dontEscape)
>    at System.Uri..ctor(String uriString)
>    at
> Microsoft.Web.Services2.SoapInputFilter.CanProcessHeader(XmlElement
> header, SoapContext context)
>    at
> Microsoft.Web.Services2.Security.SecurityInputFilter.ProcessMessage(SoapEnvelope
> envelope)
>    at Microsoft.Web.Services2.Pipeline.ProcessInputMessage(SoapEnvelope
> envelope)
>    at Microsoft.Web.Services2.InputStream.GetRawContent()
>    at Microsoft.Web.Services2.InputStream.get_Length()
>    at System.Xml.XmlScanner..ctor(TextReader reader, XmlNameTable ntable)
>    at System.Xml.XmlTextReader..ctor(String url, TextReader input,
> XmlNameTable nt)
>    at System.Xml.XmlTextReader..ctor(TextReader input)
>    at
> System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
> message, WebResponse response, Stream responseStream, Boolea
> n asyncCall)
>    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
> methodName, Object[] parameters)
>    at
> 
> Following a snippet from the response where URIs for the references appear:
> 
> ds:Reference URI="#id-4957398">
>                      <ds:Transforms>
>                         <ds:Transform
> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>                      </ds:Transforms>
>                      <ds:DigestMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> 
> <ds:DigestValue>AcwxtpUM+WfTNtZKDcYw9ua8Myc=</ds:DigestValue>
>                   </ds:Reference>
>                   <ds:Reference URI="#id-3341184">
>                      <ds:Transforms>
>                         <ds:Transform
> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>                      </ds:Transforms>
>                      <ds:DigestMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> 
> <ds:DigestValue>PRDyOjq9io0WLxEde7cVfVTTQ5I=</ds:DigestValue>
>                   </ds:Reference>
> 
> C# normally uses longer URI's for references but this shouldn't make any
> difference. Any ideas/experiences or should I post this issue to a C# list?
> 
> Thanks
> Yves
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/