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.