We seem to have a problem with encoding. There are few Jira issues on this.
We got to look into XML encoding to solve this problem. Samisa... On 8/6/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > OK, I think I see my mistake. The SOAP response sent by the webservice has > character entities (< and >) instead of "<" & ">" in its xml tags. > > Thus the line > <result xsi:type="xsd:string">TEST</result> > > is actually - > <result xsi:type="xsd:string">TEST</result> > > SOAP Response from webservice > <env:Envelope > xmlns:env = "http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" > xmlns:soapenc = > "http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd = "http://www.w3.org/2001/XMLSchema"> > <env:Body> > <n1:lookupProductResponse xmlns:n1 = > "http://www.cardinal.com/distribution/webservices"><result > xsi:type="xsd:string">TEST</result></n1:lookupProductResponse> > </env:Body> > </env:Envelope> > > > Any idea how to enable parsing of character entity tags as xml nodes in Axis > C++ (actually xerces 2.6) client? > > There is a function setCreateEntityReferenceNodes(bool) > mentioned axis docs > (%AXIS_EXTRACT%/xerces-c_2_6_0-windows_nt-msvc_60/doc/html/apiDocs/classAbstractDOMParser.html#z452_5), > can this be used in this case? > > > Thanks, > > Linesh > > > > ________________________________ > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Friday, August 05, 2005 3:20 PM > To: axis-c-user@ws.apache.org > Subject: RE: Problem deserializing SOAP response in Axis C++ client > > > > Hi Dushshantha, > > Please find the attached wsdl. > > When debugged AxisXmlParserXerces code with a xerces-c_2_6D.dll, it stopped > throwing exception like xerces-c_2_2_0.dll (the dll which I was using > earlier). However, getElementAsString() is now returning 0 value after > deserializing <result xsi:type="xsd:string">TEST</result>. > > Some pointers - > > In getElementAsString() function, getXSDType() (SoapDeSerializer.cpp: line > # 3110) returns XSD_UNKNOWN. This ultimately results in returning 0 from > getElementString (instead of "TEST"). > > At line # 3106 in SoapDeSerializer.cpp (m_pNode = m_pParser->next ()) the > m_type of node pointer shows END_ELEMENT instead of expected START_ELEMENT. > This results in returning type as XSD_UNKNOWN. > > Also, for some reason pElement->m_pchAttributes array also shows up empty in > getXSDType() function. > > > This seems to be a bug. If so, is there any work already done on it? > > > Thanks & regards, > > Linesh > > > > ________________________________ > From: Dushshantha Chandradasa [mailto:[EMAIL PROTECTED] > Sent: Friday, August 05, 2005 1:08 PM > To: Apache AXIS C User List > Subject: RE: Problem deserializing SOAP response in Axis C++ client > > > > > > Hi Linesh, > > > > It would be better if you can attach the wsdl file you are using for that > then I can generate the client and test with MockServer. > > And you can use MockServer for Client side testing. Please refer to > ..\ws-axis\c\tests\auto_build\UnitTest_Readme.txt for more > information. > > > > Thanks, > > Dushshantha > > ________________________________ > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Friday, August 05, 2005 10:23 AM > To: axis-c-user@ws.apache.org > Subject: Problem deserializing SOAP response in Axis C++ client > > > > > > Hi, > > > > > > I am trying to communicate with a J2EE webservice running on Bea Weblogic > webserver 8.1 SP3. The client side has Axis C++. I am getting error while > reading the SOAP response sent by the webservice. The exception occurs on > calling getElementAsString function (after checkMessage return successful, > line 3105: at m_pNode = m_pParser->next ()). > > > > > > The code is exactly similar to the one provided with C++ samples. > > > > if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER)) > return *Ret; > > > if > (NULL==m_pCall->getTransportProperty("SOAPAction",false)) > { > m_pCall->setTransportProperty(SOAPACTION_HEADER , > "ProductLookupService#lookupProduct"); > } > m_pCall->setSOAPVersion(SOAP_VER_1_1); > > > > > > setUsername("user"); > setPassword("password"); > > > > > > m_pCall->setOperation("lookupProduct", > "http://localhost/distribution/webservices"); > > applyUserPreferences(); > m_pCall->addParameter((void*)lpParam, "xmlRequest", > XSD_STRING); > > if (AXIS_SUCCESS == m_pCall->invoke()) > > > { > > > > > > if(AXIS_SUCCESS==m_pCall->checkMessage("lookupProductResponse", > "http://www.cardinal.com/distribution/webservices")) > { > char sTemp[1024]=""; > sprintf(sTemp, m_pCall->getElementAsString("result", 0)); //**** > EXCEPTION THROWN HERE*** > } > > > > The response received is as below (Trapped using Mindreef SOAPScope). > > > > > > Request sent (It sends an XML string in parameter "xmlRequest") - > > > > <?xml version='1.0' encoding='utf-8' ?> > <SOAP-ENV:Envelope > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <SOAP-ENV:Body> > <ns1:lookupProduct > xmlns:ns1="http://www.cardinal.com/distribution/webservices"> > <xmlRequest xsi:type="xsd:string"> > > > <ciar:ProductLookupRequest > xmlns:ciar="http://ws.cardinal.com/2004/ProductLookupRequest_1_0.xsd"><ProductLookupRequestHeader><TransactionId>AB1234CDEF1A3</TransactionId><ClientId>IVR</ClientId></ProductLookupRequestHeader><ProductLookupCriteriaList><ProductLookupCriteria><ItemNumber>1</ItemNumber><ItemNumberType>NDC_UPC</ItemNumberType><ShipToCustomerNumber>475744</ShipToCustomerNumber><DivisionNumber>11</DivisionNumber><Quantity>1</Quantity><UnitOfMeasure>EA</UnitOfMeasure></ProductLookupCriteria></ProductLookupCriteriaList></ciar:ProductLookupRequest> > > > </xmlRequest> > </ns1:lookupProduct> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > > Rsposne received (Output parameter name is "result")- > > > <env:Envelope > xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <env:Body> > <n1:lookupProductResponse > xmlns:n1="http://www.cardinal.com/distribution/webservices"> > <result xsi:type="xsd:string">TEST</result> > </n1:lookupProductResponse> > </env:Body> > </env:Envelope> > > Thanks in advance, > > Linesh Mahadik > > > Confidentiality Notice > > The information contained in this electronic message and any attachments to > this message are intended > for the exclusive use of the addressee(s) and may contain confidential or > privileged information. If > you are not the intended recipient, please notify the sender at Wipro or > [EMAIL PROTECTED] immediately > and destroy all copies of this message and any attachments. > > > > Confidentiality Notice > > The information contained in this electronic message and any attachments to > this message are intended > for the exclusive use of the addressee(s) and may contain confidential or > privileged information. If > you are not the intended recipient, please notify the sender at Wipro or > [EMAIL PROTECTED] immediately > and destroy all copies of this message and any attachments. > > > > Confidentiality Notice > > The information contained in this electronic message and any attachments to > this message are intended > for the exclusive use of the addressee(s) and may contain confidential or > privileged information. If > you are not the intended recipient, please notify the sender at Wipro or > [EMAIL PROTECTED] immediately > and destroy all copies of this message and any attachments. >