Hi @Daniel,

I appreciate very much your help. Thank you for the time, effort and
attention you have devoted to this question.

For your recommendation, I can't do much. The WSDL in question is already
in production consumed by a BizTalk-base client (the server is also a
BizTalk based server, as you can see it in the WSDL).

I will give a try to the Async Client and let you know the outcome.

Warm regards

Younes





On Fri, Jun 20, 2014 at 5:29 PM, Daniel Kulp <[email protected]> wrote:

>
> Looking at the code for the JDK:
>
>
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/net/NetworkClient.java#NetworkClient.0encoding
>
> I see they intentionally leave it in whatever encoding it find with the
> “file.encoding” system property at startup providing all the ASCII
> characters work.  Kind of wrong if you ask me, but that does mean that you
> really can only rely on the ASCII level character being transferred
> properly.
>
> Dan
>
>
> On Jun 20, 2014, at 12:06 PM, Daniel Kulp <[email protected]> wrote:
>
> >
> > Some bad news…. with a little bit of good news.
> >
> > The HttpURLConnection that CXF uses by default for sending requests to
> the server always seems to use UTF-8.  I checked with Java 6/7/8 and they
> all do that.  There doesn’t seem to be any way to make it behave correctly.
>  :-(     If you can try creating an HttpURLConnection and calling
> setRequestProperty(“SOAPAction”, “Héader”) or something and doing a
> wireshark or similar, you’ll see it’s  sending as UTF-8 encoded.  Seems to
> be a bug in the JDK.  If you can figure out away to get it to properly send
> the header, I’d love to see it.
> >
> > Both of the async clients we have (Netty on 3.0 and the Async client on
> both 2.7 and 3.0) seem to handle ISO-8859-1 headers properly.  Thus, you
> can add the appropriate dependencies and configure it to “aways” use the
> async transport and it should transfer fine.
> >
> > HOWEVER - neither of those will handle any characters outside of 8859-1.
>   They don’t encode the header using the RFC that’s there for encoding
> headers outside of the 8859-1 code set.  Thus, this still isn’t a full
> solution.
> >
> > That all said, I’d STRONGLY STRONGLY encourage you to change the Action
> to NOT have those characters.   Any client that uses the JAX-WS reference
> implementation built into the JDK would also fail (due to them also using
> the HttpURLConnection).
> >
> >
> > Dan
> >
> >
> > On Jun 20, 2014, at 4:42 AM, Younes Ouadi <[email protected]>
> wrote:
> >
> >> Hello Dears,
> >>
> >> I have an issue with soap-actions that contains accented charaters. I'm
> >> sure that this is not something new and it is possible that I'm missing
> >> something. So, please help.
> >>
> >> My case is as follows:
> >> * I have received a WSDL of a third party system
> >> * I have used wsdl2java maven plugin to generate classes
> >> * I have setted up a client and a server using Spring method
> >> * When I try to consume a service, the server reject my request with:
> 'The
> >> given SOAPAction does not match an operation'
> >> * The logs shows that the SOAPAction header:
> >> ** at the client side contains the corrcet value which contain an
> accented
> >> character (the character 'é')
> >> ** at the server side, it contains a wrong value (the 'é' is replace by
> two
> >> other charaters)
> >>
> >> It looks like that CXF:
> >> * at the client side, it hase encoded the the header value using UTF-8
> >> * while at the the server side, it has decoded the header value using
> >> ISO-8859-1
> >>
> >> I have asked this question on SO and I have got a reply saying that as
> per
> >> HTTP Specs, headers should be in ISO-8859-1.
> >>
> >> My question here is: how I can ask CXF to encode headers, at the client
> >> side, using ISO-8859-1 instead of UTF-8?
> >>
> >> My config is:
> >> * OS: Fedora 19
> >> * JDK: Java(TM) SE Runtime Environment (build 1.6.0_33-b03) | Java
> >> HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
> >> * CXF: 2.7.11
> >>
> >> I have put all the detail of thsi case on SO. Please see '
> >>
> http://stackoverflow.com/questions/24305749/cxf-jaxws-endpoint-fail-with-the-given-soapaction-does-not-match-an-operation
> >> '.
> >>
> >> Warm regards.
> >>
> >> Younes Ouadi
> >
> > --
> > Daniel Kulp
> > [email protected] - http://dankulp.com/blog
> > Talend Community Coder - http://coders.talend.com
> >
>
> --
> Daniel Kulp
> [email protected] - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>
>

Reply via email to