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 (&lt; and &gt;) instead of "<" & ">" in its xml tags. 
>   
> Thus the line 
> <result xsi:type="xsd:string">TEST</result> 
>   
> is actually -  
> &lt;result xsi:type="xsd:string"&gt;TEST&lt;/result&gt; 
>   
> 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";>&lt;result
> xsi:type="xsd:string"&gt;TEST&lt;/result&gt;</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.
>

Reply via email to