You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Daniel Putra <dp...@new.co.za> on 2009/12/10 18:36:37 UTC

Missing Prefix

Hi 

I need to connect to a third party web service using addressing 2004/08. The soap xml which would work perfectly needs to look as below but certain prefixes are missing which makes the server reject it. The missing prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like "wsa:Action".

I tried to inject the prefix by creating my own MAPCodec and VersionTransformer classes as well as using an interceptor in Phase.SEND and then modifying the prefix via 
header.setName(new QName(header.getName().getNamespaceURI(), header.getName().getLocalPart(), "wsa"));

Unfortunately none of the two approaches works. What am I missing? Any help is very much appreciated.

Thanks
Daniel Putra


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soap:mustUnderstand="1">
      <wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-2">
        <wsse:Username>ALIAS\myName</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">MySecret</wsse:Password>
      </wsse:UsernameToken>
      <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-1">
        <wsu:Created>2009-12-10T09:47:28.624Z</wsu:Created>
        <wsu:Expires>2009-12-10T20:52:28.624Z</wsu:Expires>
      </wsu:Timestamp>
    </wsse:Security>
    <wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.astutefse.com/astutefsews/ProductInfo_ProductSet</wsa:Action>
    <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1260179247765</wsa:MessageID>
    <wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wstest.astutefse.com/astutefsews.net/astuteservices.asmx</wsa:To>
    <wsa:ReplyTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
      <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
    </wsa:ReplyTo>
  </soap:Header>
  <soap:Body>
    <ns1:ProductInfo_ProductSet xmlns:ns1="http://www.astutefse.com/astutefsews">
      <ns1:SectorCode>Consolidated Client Portfolio</ns1:SectorCode>
    </ns1:ProductInfo_ProductSet>
  </soap:Body>
</soap:Envelope>

Re: Missing Prefix

Posted by Daniel Kulp <dk...@apache.org>.
On Fri December 11 2009 11:58:51 pm Daniel Putra wrote:
> Hi Dan
> 
> I removed it and confirmed that there are no NamespaceInterceptor related
> sys.outs in the log, so it is definitely gone. Unfortunately without any
> effect, the soap xml did not change at all.

OK.  That's not good.   We'll probably need a small test case then to really 
debug it.  It SOUNDS like a namespace context is getting set someplace, but 
the actual namespaces aren't getting written out.

Dan


> 
> Best regards
> Daniel Putra
> 
> ----- Original Message -----
> From: "Daniel Kulp" <dk...@apache.org>
> To: <us...@cxf.apache.org>
> Cc: "Daniel Putra" <dp...@new.co.za>
> Sent: Friday, December 11, 2009 10:56 PM
> Subject: Re: Missing Prefix
> 
> | I definitely don't  see anything obvious.   However, does the problem
> 
> occur if
> 
> | the NamespaceInterceptor isn't there?   I wondering if there is a bug in
> 
> the
> 
> | logic around the namespace map someplace.
> |
> | Dan
> |
> | On Fri December 11 2009 2:37:16 am Daniel Putra wrote:
> | > Hi Dan
> | >
> | > I created a zip file (7 kb) containing the code I am using to generate
> 
> the
> 
> | > web service request at www.profida.co.za/files/prefixIssue.zip. You
> 
> might
> 
> | > spot the issue straight away. Should you require that I build a fully
> | > functional mini-application let me know.
> | >
> | > The method webServiceTestView(..) in ViewController.java initiates the
> | >  call.
> | >
> | > I use Spring 2.5.6 and replaced all my JARs with the one found in the
> 
> CXF
> 
> | > distribution but get the same result. My xerces.jar is version 2.9.1.
> | >
> | > Best regards
> | > Daniel Putra
> | >
> | > ----- Original Message -----
> | > From: "Daniel Kulp" <dk...@apache.org>
> | > To: <us...@cxf.apache.org>
> | > Cc: "Daniel Putra" <dp...@new.co.za>
> | > Sent: Thursday, December 10, 2009 9:50 PM
> | > Subject: Re: Missing Prefix
> | >
> | > | Is there any way you can attach a small testcase that demonstrates
> 
> this?
> 
> | > I
> | >
> | > | haven't seen a case where the prefixes are missing yet.  It's
> | > | probably due
> | >
> | > to
> | >
> | > | an old version  of xerces or other dependency causing some wacky
> | > | behavior. Maybe a stax version.  Not really sure though.   I'd need a
> | > | testcase to
> | >
> | > really
> | >
> | > | be able to debug it.
> | > |
> | > | Dan
> | > |
> | > | On Thu December 10 2009 12:36:37 pm Daniel Putra wrote:
> | > | > Hi
> | > | >
> | > | > I need to connect to a third party web service using addressing
> | > | > 2004/08. The soap xml which would work perfectly needs to look as
> 
> below
> 
> | > | > but
> | >
> | > certain
> | >
> | > | >  prefixes are missing which makes the server reject it. The missing
> | > | >  prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like
> | > | >  "wsa:Action".
> | > | >
> | > | > I tried to inject the prefix by creating my own MAPCodec and
> | > | >  VersionTransformer classes as well as using an interceptor in
> | >
> | > Phase.SEND
> | >
> | > | >  and then modifying the prefix via header.setName(new
> | > | >  QName(header.getName().getNamespaceURI(),
> | >
> | > header.getName().getLocalPart(),
> | >
> | > | >  "wsa"));
> | > | >
> | > | > Unfortunately none of the two approaches works. What am I missing?
> 
> Any
> 
> | > help
> | >
> | > | >  is very much appreciated.
> | > | >
> | > | > Thanks
> | > | > Daniel Putra
> | > | >
> | > | >
> | > | > <soap:Envelope
> 
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> 
> | > | >   <soap:Header>
> | > | >     <wsse:Security
> 
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> 
> | > | > rity-secext-1.0.xsd" soap:mustUnderstand="1"> <wsse:UsernameToken
> 
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> 
> | > | > rity-secext-1.0.xsd"
> 
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> 
> | > | > ity-utility-1.0.xsd" wsu:Id="UsernameToken-2">
> | > | >  <wsse:Username>ALIAS\myName</wsse:Username>
> | > | >         <wsse:Password
> 
> Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tok
> 
> | > | > en-profile-1.0#PasswordText">MySecret</wsse:Password>
> | >
> | > </wsse:UsernameToken>
> | >
> | > | >       <wsu:Timestamp
> 
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> 
> | > | > ity-utility-1.0.xsd" wsu:Id="Timestamp-1">
> | > | >  <wsu:Created>2009-12-10T09:47:28.624Z</wsu:Created>
> | > | >         <wsu:Expires>2009-12-10T20:52:28.624Z</wsu:Expires>
> | > | >       </wsu:Timestamp>
> | > | >     </wsse:Security>
> | > | >     <wsa:Action
> 
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.as
> 
> | > | > tutefse.com/astutefsews/ProductInfo_ProductSet</wsa:Action>
> | >
> | > <wsa:MessageID
> 
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1260
> 
> | > | > 179247765</wsa:MessageID> <wsa:To
> 
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wstes
> 
> | > | > t.astutefse.com/astutefsews.net/astuteservices.asmx</wsa:To>
> | >
> | > <wsa:ReplyTo
> | >
> | > | >  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> 
> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymo
> 
> | > | > us</wsa:Address> </wsa:ReplyTo>
> | > | >   </soap:Header>
> | > | >   <soap:Body>
> | > | >     <ns1:ProductInfo_ProductSet
> | > | >  xmlns:ns1="http://www.astutefse.com/astutefsews">
> | > | >  <ns1:SectorCode>Consolidated Client Portfolio</ns1:SectorCode>
> | > | >  </ns1:ProductInfo_ProductSet>
> | > | >   </soap:Body>
> | > | > </soap:Envelope>
> | > |
> | > | --
> | > | Daniel Kulp
> | > | dkulp@apache.org
> | > | http://www.dankulp.com/blog
> |
> | --
> | Daniel Kulp
> | dkulp@apache.org
> | http://www.dankulp.com/blog
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: Missing Prefix

Posted by Daniel Putra <dp...@new.co.za>.
Hi Dan

I removed it and confirmed that there are no NamespaceInterceptor related 
sys.outs in the log, so it is definitely gone. Unfortunately without any 
effect, the soap xml did not change at all.

Best regards
Daniel Putra

----- Original Message ----- 
From: "Daniel Kulp" <dk...@apache.org>
To: <us...@cxf.apache.org>
Cc: "Daniel Putra" <dp...@new.co.za>
Sent: Friday, December 11, 2009 10:56 PM
Subject: Re: Missing Prefix


|
| I definitely don't  see anything obvious.   However, does the problem 
occur if
| the NamespaceInterceptor isn't there?   I wondering if there is a bug in 
the
| logic around the namespace map someplace.
|
| Dan
|
|
| On Fri December 11 2009 2:37:16 am Daniel Putra wrote:
| > Hi Dan
| >
| > I created a zip file (7 kb) containing the code I am using to generate 
the
| > web service request at www.profida.co.za/files/prefixIssue.zip. You 
might
| > spot the issue straight away. Should you require that I build a fully
| > functional mini-application let me know.
| >
| > The method webServiceTestView(..) in ViewController.java initiates the
| >  call.
| >
| > I use Spring 2.5.6 and replaced all my JARs with the one found in the 
CXF
| > distribution but get the same result. My xerces.jar is version 2.9.1.
| >
| > Best regards
| > Daniel Putra
| >
| > ----- Original Message -----
| > From: "Daniel Kulp" <dk...@apache.org>
| > To: <us...@cxf.apache.org>
| > Cc: "Daniel Putra" <dp...@new.co.za>
| > Sent: Thursday, December 10, 2009 9:50 PM
| > Subject: Re: Missing Prefix
| >
| > | Is there any way you can attach a small testcase that demonstrates 
this?
| >
| > I
| >
| > | haven't seen a case where the prefixes are missing yet.  It's probably
| > | due
| >
| > to
| >
| > | an old version  of xerces or other dependency causing some wacky
| > | behavior. Maybe a stax version.  Not really sure though.   I'd need a
| > | testcase to
| >
| > really
| >
| > | be able to debug it.
| > |
| > | Dan
| > |
| > | On Thu December 10 2009 12:36:37 pm Daniel Putra wrote:
| > | > Hi
| > | >
| > | > I need to connect to a third party web service using addressing
| > | > 2004/08. The soap xml which would work perfectly needs to look as 
below
| > | > but
| >
| > certain
| >
| > | >  prefixes are missing which makes the server reject it. The missing
| > | >  prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like
| > | >  "wsa:Action".
| > | >
| > | > I tried to inject the prefix by creating my own MAPCodec and
| > | >  VersionTransformer classes as well as using an interceptor in
| >
| > Phase.SEND
| >
| > | >  and then modifying the prefix via header.setName(new
| > | >  QName(header.getName().getNamespaceURI(),
| >
| > header.getName().getLocalPart(),
| >
| > | >  "wsa"));
| > | >
| > | > Unfortunately none of the two approaches works. What am I missing? 
Any
| >
| > help
| >
| > | >  is very much appreciated.
| > | >
| > | > Thanks
| > | > Daniel Putra
| > | >
| > | >
| > | > <soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
| > | >   <soap:Header>
| > | >     <wsse:Security
| >
| > 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
| >
| > | > rity-secext-1.0.xsd" soap:mustUnderstand="1"> <wsse:UsernameToken
| >
| > 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
| >
| > | > rity-secext-1.0.xsd"
| >
| > 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
| >
| > | > ity-utility-1.0.xsd" wsu:Id="UsernameToken-2">
| > | >  <wsse:Username>ALIAS\myName</wsse:Username>
| > | >         <wsse:Password
| >
| > 
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tok
| >
| > | > en-profile-1.0#PasswordText">MySecret</wsse:Password>
| >
| > </wsse:UsernameToken>
| >
| > | >       <wsu:Timestamp
| >
| > 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
| >
| > | > ity-utility-1.0.xsd" wsu:Id="Timestamp-1">
| > | >  <wsu:Created>2009-12-10T09:47:28.624Z</wsu:Created>
| > | >         <wsu:Expires>2009-12-10T20:52:28.624Z</wsu:Expires>
| > | >       </wsu:Timestamp>
| > | >     </wsse:Security>
| > | >     <wsa:Action
| >
| > 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.as
| >
| > | > tutefse.com/astutefsews/ProductInfo_ProductSet</wsa:Action>
| >
| > <wsa:MessageID
| >
| > 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1260
| >
| > | > 179247765</wsa:MessageID> <wsa:To
| >
| > 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wstes
| >
| > | > t.astutefse.com/astutefsews.net/astuteservices.asmx</wsa:To>
| >
| > <wsa:ReplyTo
| >
| > | >  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
| >
| > 
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymo
| >
| > | > us</wsa:Address> </wsa:ReplyTo>
| > | >   </soap:Header>
| > | >   <soap:Body>
| > | >     <ns1:ProductInfo_ProductSet
| > | >  xmlns:ns1="http://www.astutefse.com/astutefsews">
| > | >  <ns1:SectorCode>Consolidated Client Portfolio</ns1:SectorCode>
| > | >  </ns1:ProductInfo_ProductSet>
| > | >   </soap:Body>
| > | > </soap:Envelope>
| > |
| > | --
| > | Daniel Kulp
| > | dkulp@apache.org
| > | http://www.dankulp.com/blog
| >
|
| -- 
| Daniel Kulp
| dkulp@apache.org
| http://www.dankulp.com/blog 


Re: Missing Prefix

Posted by Daniel Kulp <dk...@apache.org>.
I definitely don't  see anything obvious.   However, does the problem occur if 
the NamespaceInterceptor isn't there?   I wondering if there is a bug in the  
logic around the namespace map someplace.

Dan


On Fri December 11 2009 2:37:16 am Daniel Putra wrote:
> Hi Dan
> 
> I created a zip file (7 kb) containing the code I am using to generate the
> web service request at www.profida.co.za/files/prefixIssue.zip. You might
> spot the issue straight away. Should you require that I build a fully
> functional mini-application let me know.
> 
> The method webServiceTestView(..) in ViewController.java initiates the
>  call.
> 
> I use Spring 2.5.6 and replaced all my JARs with the one found in the CXF
> distribution but get the same result. My xerces.jar is version 2.9.1.
> 
> Best regards
> Daniel Putra
> 
> ----- Original Message -----
> From: "Daniel Kulp" <dk...@apache.org>
> To: <us...@cxf.apache.org>
> Cc: "Daniel Putra" <dp...@new.co.za>
> Sent: Thursday, December 10, 2009 9:50 PM
> Subject: Re: Missing Prefix
> 
> | Is there any way you can attach a small testcase that demonstrates this?
> 
> I
> 
> | haven't seen a case where the prefixes are missing yet.  It's probably
> | due
> 
> to
> 
> | an old version  of xerces or other dependency causing some wacky
> | behavior. Maybe a stax version.  Not really sure though.   I'd need a
> | testcase to
> 
> really
> 
> | be able to debug it.
> |
> | Dan
> |
> | On Thu December 10 2009 12:36:37 pm Daniel Putra wrote:
> | > Hi
> | >
> | > I need to connect to a third party web service using addressing
> | > 2004/08. The soap xml which would work perfectly needs to look as below
> | > but
> 
> certain
> 
> | >  prefixes are missing which makes the server reject it. The missing
> | >  prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like
> | >  "wsa:Action".
> | >
> | > I tried to inject the prefix by creating my own MAPCodec and
> | >  VersionTransformer classes as well as using an interceptor in
> 
> Phase.SEND
> 
> | >  and then modifying the prefix via header.setName(new
> | >  QName(header.getName().getNamespaceURI(),
> 
> header.getName().getLocalPart(),
> 
> | >  "wsa"));
> | >
> | > Unfortunately none of the two approaches works. What am I missing? Any
> 
> help
> 
> | >  is very much appreciated.
> | >
> | > Thanks
> | > Daniel Putra
> | >
> | >
> | > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> | >   <soap:Header>
> | >     <wsse:Security
> 
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> 
> | > rity-secext-1.0.xsd" soap:mustUnderstand="1"> <wsse:UsernameToken
> 
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> 
> | > rity-secext-1.0.xsd"
> 
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> 
> | > ity-utility-1.0.xsd" wsu:Id="UsernameToken-2">
> | >  <wsse:Username>ALIAS\myName</wsse:Username>
> | >         <wsse:Password
> 
> Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tok
> 
> | > en-profile-1.0#PasswordText">MySecret</wsse:Password>
> 
> </wsse:UsernameToken>
> 
> | >       <wsu:Timestamp
> 
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> 
> | > ity-utility-1.0.xsd" wsu:Id="Timestamp-1">
> | >  <wsu:Created>2009-12-10T09:47:28.624Z</wsu:Created>
> | >         <wsu:Expires>2009-12-10T20:52:28.624Z</wsu:Expires>
> | >       </wsu:Timestamp>
> | >     </wsse:Security>
> | >     <wsa:Action
> 
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.as
> 
> | > tutefse.com/astutefsews/ProductInfo_ProductSet</wsa:Action>
> 
> <wsa:MessageID
> 
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1260
> 
> | > 179247765</wsa:MessageID> <wsa:To
> 
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wstes
> 
> | > t.astutefse.com/astutefsews.net/astuteservices.asmx</wsa:To>
> 
> <wsa:ReplyTo
> 
> | >  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> 
> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymo
> 
> | > us</wsa:Address> </wsa:ReplyTo>
> | >   </soap:Header>
> | >   <soap:Body>
> | >     <ns1:ProductInfo_ProductSet
> | >  xmlns:ns1="http://www.astutefse.com/astutefsews">
> | >  <ns1:SectorCode>Consolidated Client Portfolio</ns1:SectorCode>
> | >  </ns1:ProductInfo_ProductSet>
> | >   </soap:Body>
> | > </soap:Envelope>
> |
> | --
> | Daniel Kulp
> | dkulp@apache.org
> | http://www.dankulp.com/blog
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: Missing Prefix

Posted by Daniel Putra <dp...@new.co.za>.
Hi Dan

I created a zip file (7 kb) containing the code I am using to generate the 
web service request at www.profida.co.za/files/prefixIssue.zip. You might 
spot the issue straight away. Should you require that I build a fully 
functional mini-application let me know.

The method webServiceTestView(..) in ViewController.java initiates the call.

I use Spring 2.5.6 and replaced all my JARs with the one found in the CXF 
distribution but get the same result. My xerces.jar is version 2.9.1.

Best regards
Daniel Putra

----- Original Message ----- 
From: "Daniel Kulp" <dk...@apache.org>
To: <us...@cxf.apache.org>
Cc: "Daniel Putra" <dp...@new.co.za>
Sent: Thursday, December 10, 2009 9:50 PM
Subject: Re: Missing Prefix


|
|
|
| Is there any way you can attach a small testcase that demonstrates this? 
I
| haven't seen a case where the prefixes are missing yet.  It's probably due 
to
| an old version  of xerces or other dependency causing some wacky behavior.
| Maybe a stax version.  Not really sure though.   I'd need a testcase to 
really
| be able to debug it.
|
| Dan
|
|
|
| On Thu December 10 2009 12:36:37 pm Daniel Putra wrote:
| > Hi
| >
| > I need to connect to a third party web service using addressing 2004/08.
| >  The soap xml which would work perfectly needs to look as below but 
certain
| >  prefixes are missing which makes the server reject it. The missing
| >  prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like
| >  "wsa:Action".
| >
| > I tried to inject the prefix by creating my own MAPCodec and
| >  VersionTransformer classes as well as using an interceptor in 
Phase.SEND
| >  and then modifying the prefix via header.setName(new
| >  QName(header.getName().getNamespaceURI(), 
header.getName().getLocalPart(),
| >  "wsa"));
| >
| > Unfortunately none of the two approaches works. What am I missing? Any 
help
| >  is very much appreciated.
| >
| > Thanks
| > Daniel Putra
| >
| >
| > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
| >   <soap:Header>
| >     <wsse:Security
| > 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
| > rity-secext-1.0.xsd" soap:mustUnderstand="1"> <wsse:UsernameToken
| > 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
| > rity-secext-1.0.xsd"
| > 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
| > ity-utility-1.0.xsd" wsu:Id="UsernameToken-2">
| >  <wsse:Username>ALIAS\myName</wsse:Username>
| >         <wsse:Password
| > 
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tok
| > en-profile-1.0#PasswordText">MySecret</wsse:Password> 
</wsse:UsernameToken>
| >       <wsu:Timestamp
| > 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
| > ity-utility-1.0.xsd" wsu:Id="Timestamp-1">
| >  <wsu:Created>2009-12-10T09:47:28.624Z</wsu:Created>
| >         <wsu:Expires>2009-12-10T20:52:28.624Z</wsu:Expires>
| >       </wsu:Timestamp>
| >     </wsse:Security>
| >     <wsa:Action
| > 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.as
| > tutefse.com/astutefsews/ProductInfo_ProductSet</wsa:Action> 
<wsa:MessageID
| > 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1260
| > 179247765</wsa:MessageID> <wsa:To
| > 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wstes
| > t.astutefse.com/astutefsews.net/astuteservices.asmx</wsa:To> 
<wsa:ReplyTo
| >  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
| > 
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymo
| > us</wsa:Address> </wsa:ReplyTo>
| >   </soap:Header>
| >   <soap:Body>
| >     <ns1:ProductInfo_ProductSet
| >  xmlns:ns1="http://www.astutefse.com/astutefsews">
| >  <ns1:SectorCode>Consolidated Client Portfolio</ns1:SectorCode>
| >  </ns1:ProductInfo_ProductSet>
| >   </soap:Body>
| > </soap:Envelope>
| >
|
| -- 
| Daniel Kulp
| dkulp@apache.org
| http://www.dankulp.com/blog 


Re: Missing Prefix

Posted by Daniel Putra <dp...@new.co.za>.
Hi Dan

I created a zip file (7 kb) containing the code I am using to generate the
web service request at www.profida.co.za/files/prefixIssue.zip. You might
spot the issue straight away. Should you require that I build a fully
functional mini-application let me know.

The method webServiceTestView(..) in ViewController.java initiates the call.

I use Spring 2.5.6 and replaced all my JARs with the one found in the CXF
distribution but get the same result. My xerces.jar is version 2.9.1.

Best regards
Daniel Putra
(got a mail delivery failure, so sending again without the soap xml from 
previous email)

----- Original Message ----- 
From: "Daniel Kulp" <dk...@apache.org>
To: <us...@cxf.apache.org>
Cc: "Daniel Putra" <dp...@new.co.za>
Sent: Thursday, December 10, 2009 9:50 PM
Subject: Re: Missing Prefix


|
|
|
| Is there any way you can attach a small testcase that demonstrates this? 
I
| haven't seen a case where the prefixes are missing yet.  It's probably due 
to
| an old version  of xerces or other dependency causing some wacky behavior.
| Maybe a stax version.  Not really sure though.   I'd need a testcase to 
really
| be able to debug it.
|
| Dan
|
|
|
| On Thu December 10 2009 12:36:37 pm Daniel Putra wrote:
| > Hi
| >
| > I need to connect to a third party web service using addressing 2004/08.
| >  The soap xml which would work perfectly needs to look as below but 
certain
| >  prefixes are missing which makes the server reject it. The missing
| >  prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like
| >  "wsa:Action".
| >
| > I tried to inject the prefix by creating my own MAPCodec and
| >  VersionTransformer classes as well as using an interceptor in 
Phase.SEND
| >  and then modifying the prefix via header.setName(new
| >  QName(header.getName().getNamespaceURI(), 
header.getName().getLocalPart(),
| >  "wsa"));
| >
| > Unfortunately none of the two approaches works. What am I missing? Any 
help
| >  is very much appreciated.
| >
| > Thanks
| > Daniel Putra
| >
||
| -- 
| Daniel Kulp
| dkulp@apache.org
| http://www.dankulp.com/blog 


Re: Missing Prefix

Posted by Daniel Kulp <dk...@apache.org>.


Is there any way you can attach a small testcase that demonstrates this?   I 
haven't seen a case where the prefixes are missing yet.  It's probably due to 
an old version  of xerces or other dependency causing some wacky behavior.    
Maybe a stax version.  Not really sure though.   I'd need a testcase to really 
be able to debug it.

Dan



On Thu December 10 2009 12:36:37 pm Daniel Putra wrote:
> Hi
> 
> I need to connect to a third party web service using addressing 2004/08.
>  The soap xml which would work perfectly needs to look as below but certain
>  prefixes are missing which makes the server reject it. The missing
>  prefixes are ns1 from "ns1:SectorCode" and all wsa prefixes like
>  "wsa:Action".
> 
> I tried to inject the prefix by creating my own MAPCodec and
>  VersionTransformer classes as well as using an interceptor in Phase.SEND
>  and then modifying the prefix via header.setName(new
>  QName(header.getName().getNamespaceURI(), header.getName().getLocalPart(),
>  "wsa"));
> 
> Unfortunately none of the two approaches works. What am I missing? Any help
>  is very much appreciated.
> 
> Thanks
> Daniel Putra
> 
> 
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>   <soap:Header>
>     <wsse:Security
>  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> rity-secext-1.0.xsd" soap:mustUnderstand="1"> <wsse:UsernameToken
>  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> rity-secext-1.0.xsd"
>  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> ity-utility-1.0.xsd" wsu:Id="UsernameToken-2">
>  <wsse:Username>ALIAS\myName</wsse:Username>
>         <wsse:Password
>  Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tok
> en-profile-1.0#PasswordText">MySecret</wsse:Password> </wsse:UsernameToken>
>       <wsu:Timestamp
>  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> ity-utility-1.0.xsd" wsu:Id="Timestamp-1">
>  <wsu:Created>2009-12-10T09:47:28.624Z</wsu:Created>
>         <wsu:Expires>2009-12-10T20:52:28.624Z</wsu:Expires>
>       </wsu:Timestamp>
>     </wsse:Security>
>     <wsa:Action
>  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.as
> tutefse.com/astutefsews/ProductInfo_ProductSet</wsa:Action> <wsa:MessageID
>  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1260
> 179247765</wsa:MessageID> <wsa:To
>  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wstes
> t.astutefse.com/astutefsews.net/astuteservices.asmx</wsa:To> <wsa:ReplyTo
>  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
>  <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymo
> us</wsa:Address> </wsa:ReplyTo>
>   </soap:Header>
>   <soap:Body>
>     <ns1:ProductInfo_ProductSet
>  xmlns:ns1="http://www.astutefse.com/astutefsews">
>  <ns1:SectorCode>Consolidated Client Portfolio</ns1:SectorCode>
>  </ns1:ProductInfo_ProductSet>
>   </soap:Body>
> </soap:Envelope>
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog