Hi Dinesh,
   
  Thanks for your reply and sorry for reply later.
   
  I have tried used guththila parser via this config file:
   
  ENABLE_SSL = 1
ENABLE_LIBCURL = 0
ENABLE_GUTHTHILA = 1
## LIBXML2_BIN_DIR = E:\libxml2-2.6.27.win32
ICONV_BIN_DIR = E:\iconv-1.9.2.win32
ZLIB_BIN_DIR = E:\zlib123-dll
APACHE_BIN_DIR = "C:\Program Files\Apache Software Foundation\Apache2.2"
LIBXSLT_BIN_DIR = E:\libxslt-1.1.19.win32
APACHE_VERSION_IS_2_0_59 = 0
OPENSSL_BIN_DIR = E:\OpenSSL
## LIBCURL_BIN_DIR = E:\libcurl-7.15.1-msvc-win32-ssl-0.9.8a-zlib-1.2.3
RELEASE_VER = 1.0.0
   
  Building is smooth and I used the following apis:
   
      ns0 = axiom_namespace_create(env, 
AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, "SOAP-ENV");
    ns1 = axiom_namespace_create(env, 
"http://schemas.xmlsoap.org/soap/encoding/";, "SOAP-ENC");
    ns2 = axiom_namespace_create(env, 
"http://www.w3.org/1999/XMLSchema-instance";, "xsi");
    ns3 = axiom_namespace_create(env, "http://www.w3.org/1999/XMLSchema";, 
"xsd");
 ns4 = axiom_namespace_create(env, "http://stockquote";, "ns1");
   
   /* set root layer */
   envelope_ele = axiom_element_create(env, NULL, "Envelope", ns0, 
&envelope_node);
 status = axiom_element_declare_namespace(envelope_ele, env, envelope_node, 
ns1);
 printf("\n#############################%d#########################\n", status);
    axiom_element_declare_namespace(envelope_ele, env, envelope_node, ns2);
 axiom_element_declare_namespace(envelope_ele, env, envelope_node, ns3);
    axiom_element_declare_namespace(envelope_ele, env, envelope_node, ns4);
   
  get the following soap message:
   
  Sending OM : <SOAP-ENV:Envelope xmlns:SOAP-ENV = 
'http://schemas.xmlsoap.org/soa
p/envelope/' xmlns:ns1 = 'http://stockquote' xmlns:xsi = 'http://www.w3.org/1999
/XMLSchema-instance' xmlns:SOAP-ENC = 'http://schemas.xmlsoap.org/soap/encoding/
' xmlns:xsd = 'http://www.w3.org/1999/XMLSchema'><SOAP-ENV:Body><ns1:getQuote><n
s1:symbol>IBM</ns1:symbol></ns1:getQuote></SOAP-ENV:Body></SOAP-ENV:Envelope>
   
  There are 3 problems:
   
  1st, I don't know whether single squote "\'" will affect the soap message or 
not. Because in the correct format, soap message uses double squote "\"". It 
means xmlns:ns1 = "http://stockquote"; not xmlns:ns1 = 'http://stockquote'.
   
  2nd, it is still in disorder sequence. Because I want get the soap message 
like the following order:
   
  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/1999/XMLSchema"; xmlns:ns1="http://stockquote";>
   
  It means ns xmlns:SOAP-ENV is in the first place, xmlns:SOAP-ENC in the 
second place and xmlns:xsi in the third place.
   
  3rd, in the server concole, there are some error infos for wrong soap message:
   
  [7/9/07 13:58:36:953 CST] 50d0aea1 WebServicesSe E 
com.ibm.ws.webservices.engine.transport.http.WebServicesServlet  WSWS3112E: 
Error: Generating WebServicesFault due to missing SOAPAction.
[7/9/07 13:58:36:953 CST] 50d0aea1 WebServicesSe E 
com.ibm.ws.webservices.engine.transport.http.WebServicesServlet  TRAS0014I: The 
following exception was logged WebServicesFault
 faultCode: {http://websphere.ibm.com/webservices/}Client.NoSOAPAction
 faultString: WSWS3147E: Error: no SOAPAction header!
 faultActor: null
 faultDetail: 
  WSWS3147E: Error: no SOAPAction header!
 at 
com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.getSoapAction(WebServicesServlet.java:1162)
 at 
com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.doPost(WebServicesServlet.java:878)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
 at 
com.ibm.ws.webservices.engine.transport.http.WebServicesServletBase.service(WebServicesServletBase.java:341)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at 
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
 at 
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
 at 
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
 at 
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
 at 
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
 at 
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
 at 
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
 at 
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1019)
 at 
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:592)
 at 
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:204)
 at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:125)
 at 
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:286)
 at 
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
 at 
com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
 at 
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
 at 
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
 at 
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
 at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:615)
 at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
 at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
.
                                 WebServicesFault
 faultCode: {http://websphere.ibm.com/webservices/}Client.NoSOAPAction
 faultString: WSWS3147E: Error: no SOAPAction header!
 faultActor: null
 faultDetail: 
   
  but return value of function axis2_svc_client_send_receive(svc_client, env, 
payload) is NULL, meaning no getting any response even error message.
   
  #####################################################
   
  Then I used attribute apis like this to create soap message:
   
   envelope_ele = axiom_element_create(env, NULL, "SOAP-ENV:Envelope", NULL, 
&envelope_node);
 axiom_attribute_t *a1;
 a1 = axiom_attribute_create(env, "xmlns:soap-env", 
"http://schemas.xmlsoap.org/soap/envelope/";, NULL);
 status = axiom_element_add_attribute(envelope_ele, env, a1, envelope_node);
 
 axiom_attribute_t *a2;
 a2 = axiom_attribute_create(env, "xmlns:soap-enc", 
"http://schemas.xmlsoap.org/soap/encoding/";, NULL);
 status = axiom_element_add_attribute(envelope_ele, env, a2, envelope_node);
 
   axiom_attribute_t *a3;
 a3 = axiom_attribute_create(env, "xmlns:xsi", 
"http://www.w3.org/1999/xmlschema-instance";, NULL);
 status = axiom_element_add_attribute(envelope_ele, env, a3, envelope_node);
   axiom_attribute_t *a4;
 a4 = axiom_attribute_create(env, "xmlns:xsd", 
"http://www.w3.org/1999/xmlschema";, NULL);
 status = axiom_element_add_attribute(envelope_ele, env, a4, envelope_node);
   axiom_attribute_t *a5;
 a5 = axiom_attribute_create(env, "xmlns:ns1", "http://stockquote";, NULL);
 status = axiom_element_add_attribute(envelope_ele, env, a5, envelope_node);
   
  It even get guththila exception like:
   
  Throws guththila_exception       ..\..\guththila\src\guththila_xml_writer.c
 355
Throws guththila_exception       ..\..\guththila\src\guththila_xml_writer.c
 355
Throws guththila_exception       ..\..\guththila\src\guththila_xml_writer.c
 355
Throws guththila_exception       ..\..\guththila\src\guththila_xml_writer.c
 355
Throws guththila_exception       ..\..\guththila\src\guththila_xml_writer.c
 355
   
  The sequence of ns is till in disorder like:
   
  Sending OM : <SOAP-ENV:Envelope xmlns:xsi = 
"http://www.w3.org/1999/xmlschema-in
stance" xmlns:soap-enc = "http://schemas.xmlsoap.org/soap/encoding/"; xmlns:soap-
env = "http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd = "http://www.w3.org
/1999/xmlschema" xmlns:ns1 = "http://stockquote";><SOAP-ENV:Body><ns1:getQuote><n
s1:symbol>IBM</ns1:symbol></ns1:getQuote></SOAP-ENV:Body></SOAP-ENV:Envelope>
   
  and return value of function axis2_svc_client_send_receive(svc_client, env, 
payload) is still NULL while sever concole display the same error message.
   
  I used IBM websphere to construct my http server via this tutorial:
   
  
http://publib.boulder.ibm.com/infocenter/wsadhelp/v5r1m2/index.jsp?topic=/com.ibm.etools.webservice.was.creation.ui.doc/samples/sstockq.html
   
  I am a chinese and not goot at English, so if any misunderstanding, pls. feel 
free to tell me.
   
  Thanks a lot.
   
  Kelvin.Lin
  
Dinesh Premalal <[EMAIL PROTECTED]> wrote:
  Hi Kelvin,

Kelvin Lin writes:
> So I have to follow the sequence of namespace exactly.
> 
> If I would like to meet this target, it does whether mean I have to modify
> underline XML parser layer, like libxml, not Axis2/C source code
> itself?
Yes it is parser abstraction layer, To be precise I would say it is a
part of Axis2/C code.[1]

If you don't have a libxml2 dependency please try to use Axis2/C with
guththila parser and see whether it fix your problem[2].

thanks,
Dinesh

1.http://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2/
2.http://svn.apache.org/repos/asf/webservices/axis2/trunk/c/INSTALL
-- 
Dinesh Premalal
http://feeds.feedburner.com/Dinesh
GPG ID : A255955C
GPG Key Finger Print : C481 E5D4 C27E DC34 9257 0229 4F44 266E A255 955C

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



 
---------------------------------
We won't tell. Get more on shows you hate to love
(and love to hate): Yahoo! TV's Guilty Pleasures list.

Reply via email to