In "Case 2", how are you setting the headers:
   <masterAccountID>11111111</masterAccountID>
   <license>999999999</license>
   <onBehalfOfUsername />
   <onBehalfOfPassword />

Without the -exsh true, they wouldn't be method parameters so you are setting them some other way. SAAJ handler? Through the request context? etc... I would need to see that code.

Dan



On Jul 3, 2008, at 10:22 AM, nmt999 wrote:


In my client developement using cxf to talk to yahoo searchmarketing services (http://searchmarketing.yahoo.com/developer/docs/V4/wsdl/V4/AccountService.wsdl ), I have two different implementations. I have them below. Case 1 works but
not Case 2. How can I make the Case 2 work.

Does wsdl2java command when used with and without -exsh option make a
difference for the client when making requests to a webservice. Does the two
soap requests sent any different?

Case 1:
=====
wsdl2java used witn -exsh true option
wsdl2java command used: wsdl2java -client -exsh true -p
com.test.accountservice AccountService.wsdl

Following request was generated and  sent successfully:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
<soap:Header>
        <ns2:onBehalfOfUsername
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/secext";
xmlns:ns2="http://marketing.ews.yahooapis.com/V4"; xsi:nil="true" />
        <ns2:onBehalfOfPassword
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/secext";
xmlns:ns2="http://marketing.ews.yahooapis.com/V4"; xsi:nil="true" />
        <ns2:masterAccountID
xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/secext";
xmlns:ns2="http://marketing.ews.yahooapis.com/V4";>11111111</ ns2:masterAccountID>
        <ns2:license xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/secext";
xmlns:ns2="http://marketing.ews.yahooapis.com/V4";>9999999</ ns2:license> <ns3:Security xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/ secext"
xmlns:ns2="http://marketing.ews.yahooapis.com/V4";>
                <UsernameToken>
                        <Username>username</Username>
                        <Password>password</Password>
                </UsernameToken>
        </ns3:Security>
</soap:Header>
<soap:Body>
<ns2:getAccountStatus xmlns:ns2="http://marketing.ews.yahooapis.com/V4 "
xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/secext";>
       <ns2:accountID>222222222</ns2:accountID>
   </ns2:getAccountStatus>
</soap:Body>
</soap:Envelope>

Response received successfully

Case 2:
=====
wsdl2java used without the exsh option
wsdl2java command used: wsdl2java -client -p com.test.accountservice
AccountService.wsdl

Following request was generated and sent successfully:
<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-24164377">
       <wsse:Username
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd ">username</wsse:Username>
       <wsse:Password
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd " Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText ">password</wsse:Password>
   </wsse:UsernameToken></wsse:Security>
   <masterAccountID>11111111</masterAccountID>
   <license>999999999</license>
   <onBehalfOfUsername />
   <onBehalfOfPassword />
   </soap:Header>
<soap:Body>
<ns2:getAccountStatus xmlns:ns2="http://marketing.ews.yahooapis.com/V4 "
xmlns:ns3="http://schemas.xmlsoap.org/ws/2002/07/secext";>
       <ns2:accountID>222222222</ns2:accountID>
   </ns2:getAccountStatus>
</soap:Body>
</soap:Envelope>

Response received has soap fault as below:
        <soap:Fault><faultcode>soap:Server</faultcode>
        <faultstring>An internal error has occurred.</faultstring>
                <detail>
                        <yns:ApiFault 
xmlns:yns="http://marketing.ews.yahooapis.com/V4";>
                                <yns:code
xmlns:yns="http://marketing.ews.yahooapis.com/V4";>E1002</yns:code>
                                <yns:message 
xmlns:yns="http://marketing.ews.yahooapis.com/V4";>An
internal error has occurred.</yns:message>
                        </yns:ApiFault>
        </detail>
        </soap:Fault>


Regards
nmt
--
View this message in context: 
http://www.nabble.com/Does-wsdl2java-command-when-used-with-and-without--exsh-option-make-a-difference-for-the-client-when-making-requests-to-a-webservice-tp18260156p18260156.html
Sent from the cxf-user mailing list archive at Nabble.com.


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to