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.

Reply via email to