Thank you for your replies!
I tried the code below and still get a runtime casting error.

Exception in thread "main" java.lang.ClassCastException:
org.apache.axiom.soap.impl.llom.soap12.SOAP12Factory
        at rpcAxSys.header2(Unknown Source)
        at rpcAxSys.main(Unknown Source)

SOAP12Factory factory = (SOAP12Factory)
OMAbstractFactory.getSOAP12Factory();
OMNamespace omNs = factory.createOMNamespace("beta.va.nortel.com", "xmlns"); 

SOAPHeader header = factory.createSOAPHeader();

SOAPHeaderBlock block = factory.createSOAPHeaderBlock("BasicCredentials",
omNs);

OMElement serviceId = factory.createOMElement("serviceId", omNs); 
OMText serviceIdText = factory.createOMText(serviceId, agentID);
serviceId.addChild(serviceIdText); 

OMElement serviceKey = factory.createOMElement("serviceKey", omNs); 
OMText serviceKeyText = factory.createOMText(serviceKey, agentToken);
serviceKey.addChild(serviceKeyText); 

block.addChild(serviceId);
block.addChild(serviceKey);

header.addChild(block);


Amila Suriarachchi wrote:
> 
> I am not sure about your problem.
> but add this code to specifically set the soap12 for service client.
> 
> clientOptions = new Options();
> clientOptions.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI
> );
> serviceClient.setOptions(clientOptions);
> 
> On 5/10/07, Michele Mazzucco <[EMAIL PROTECTED]> wrote:
>>
>> Daniel,
>>
>> I think the way you create the SOAPHeaderBlock is not correct. Can
>> you try this way please?
>>
>> SOAP12Factory factory = (SOAP12Factory)
>> OMAbstractFactory.getSOAP12Factory();
>> OMNamespace omNs = factory.createOMNamespace(
>>                         "http://...";,
>>                         "..."
>>                 );
>>
>> SOAPEnvelope env = factory.createSOAPEnvelope();
>> SOAPHeader header = factory.createSOAPHeader();
>> SOAPHeaderBlock block = factory.createSOAPHeaderBlock(
>>         SOAPHeaderConstants.ELEM_QOSP_HEADER_BLOCK, omNs);
>> OMElement type = factory.createOMElement(
>>                 SOAPHeaderConstants.ELEM_MESSAGE_TYPE, omNs);
>>
>> type.setText(MessageType.UPLOAD.value());
>> block.addChild(type);
>> header.addChild(block);
>>
>> SOAPBody body = factory.createSOAPBody();
>> OMElement method = factory.createOMElement(SOAPUtils.UPLOAD_SERVICE,
>> omNs);
>>
>> OMElement name = factory.createOMElement(
>>         SOAPUtils.UPLOAD_SERVICE_FILE_NAME, omNs);
>> name.setText(this.fileName);
>>
>> method.addChild(name);
>> body.addChild(method);
>> env.addChild(header);
>> env.addChild(body);
>>
>>
>> Michele
>>
>>
>>
>>
>> On 9 May 2007, at 22:26, Daniel Herbison wrote:
>>
>> >
>> > I'm trying to add the SOAP header, described in comment in code
>> > below, to a
>> > RPC call to a service.  First of all I really do not know if the
>> > code to
>> > create the header is correct, i think it is in the ball park(?)
>> > But I get a
>> > run time error of:
>> >
>> > Exception in thread "main" java.lang.ClassCastException:
>> > org.apache.axiom.om.impl.OMNamespaceImpl
>> >         at
>> > org.apache.axiom.soap.impl.dom.SOAPHeaderBlockImpl.<init>
>> > (SOAPHeaderBlockImpl.java:54)
>> >         at
>> > org.apache.axiom.soap.impl.dom.soap12.SOAP12HeaderBlockImpl.<init>
>> > (SOAP12HeaderBlockImpl.java:45)
>> >         at rpcAxSys.main(Unknown Source)
>> >
>> > the line causing the run time error is marked below, why is this
>> > doing this?
>> > Also, is the header creation correct?
>> >
>> > code------------------
>> > RPCServiceClient serviceClient = new RPCServiceClient();
>> > Options options = serviceClient.getOptions();
>> > EndpointReference targetEPR = new
>> > EndpointReference("https://xyz/Authorize/Service.asmx";);
>> > options.setTo(targetEPR);
>> >
>> > /* header build
>> >  <soap:Header>
>> >   <BasicCredentials xmlns="beta">
>> >    <serviceId>string1</serviceId>
>> >    <serviceKey>string2</serviceKey>
>> >   </BasicCredentials>
>> >  </soap:Header>
>> >  */
>> > OMFactory fac = OMAbstractFactory.getOMFactory();
>> > OMNamespace omNs = fac.createOMNamespace("beta", "xmlns");
>> >
>> > SOAPFactory soapFactory = new SOAP12Factory();
>> > SOAPHeaderBlock soapHeaderBlock = new
>> > SOAP12HeaderBlockImpl("Security",omNs,soapFactory);
>> > soapHeaderBlock.setMustUnderstand(true);
>> >
>> > OMElement basicCredentials = fac.createOMElement
>> > ("BasicCredentials", omNs);
>> >
>> > OMElement serviceId = fac.createOMElement("serviceId", omNs);
>> > OMText serviceIdText = fac.createOMText(serviceId, agentID);
>> > serviceId.addChild(serviceIdText);
>> >
>> > OMElement serviceKey = fac.createOMElement("serviceKey", omNs);
>> > OMText serviceKeyText = fac.createOMText(serviceKey, agentToken);
>> > serviceKey.addChild(serviceKeyText);
>> >
>> > basicCredentials.addChild(serviceId);
>> > basicCredentials.addChild(serviceKey);
>> >
>> > soapHeaderBlock.addChild(basicCredentials);
>> >
>> > serviceClient.addHeader(soapHeaderBlock);
>> > // end header build
>> >
>> > QName opSetClaim = new QName("beta", "GetClaim" );
>> >
>> > Object[] opSetParams = new Object[] { agentID, agentToken,
>> > requestor };
>> > Class[] returnTypes = new Class[] { Object.class };
>> >
>> > Object[] response = serviceClient.invokeBlocking(opSetClaim,
>> > opSetParams,
>> > returnTypes);
>> >
>> > --
>> > View this message in context: http://www.nabble.com/Creating-Axis2-
>> > SOAP-Header-tf3718396.html#a10403132
>> > Sent from the Axis - User mailing list archive at Nabble.com.
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> -- 
> Amila Suriarachchi,
> WSO2 Inc.
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Creating-Axis2-SOAP-Header-tf3718396.html#a10412374
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to