[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-c-user
Subject:    Need help with custom soap faults???
From:       Michael Tyler - ISD <Michael.Tyler () wal-mart ! com>
Date:       2013-01-11 14:49:47
Message-ID: 4E9FAAC989C4BC4084730AAD23F4DDBC1ACA137842 () HONTS3023XCH ! homeoffice ! Wal-Mart ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Folks,

According to this blog what I am trying to do is possible, but does not see=
m to be working.  Hoping someone can point me to what I am doing wrong pret=
ty quickly, or to a link that will walk by thru the steps, as I am on a pre=
tty tight project timeline.

http://www.dimuthu.org/blog/2009/02/09/code-generate-custom-soap-faults-for=
-axis2c/

The blogs states that the WSLD2C code generation should add extra structure=
s and extra function parameters for custom SOAP faults.  I am not getting t=
hese extra fields from the code generation.  Do I need to modify the genera=
ted code manually???

I am including the output from WSDL2C, including the jar files being used.

I command line that I ran to create the code. 'WSDL2C.sh -uri dataLoadTool_=
Implementation_STORE_V1_0.wsdl -u -ss'

The resulting skeleton files products from the run.

The WSDL and XSD files that I used when calling WSDL2C.


L. Michael Tyler, II
System Analyst - ISD Aps Dev Store Systems Services
Phone 479.277.2811
BlackBerry 479.420.3798
Michael.Tyler@wal-mart.com<mailto:Michael.Tyler@wal-mart.com>
page Tyler Michael<mailto:pageLMTYLER>

This email and any files transmitted with it are confidential and intended =
solely for the individual or entity to whom they are addressed. If you have=
 received this email in error destroy it immediately. *** Walmart Confident=
ial ***

[Attachment #5 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type \
content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 \
(filtered medium)"><style><!-- /* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Courier New";
	color:windowtext;
	font-weight:normal;
	font-style:normal;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div \
class=WordSection1><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'>Folks,<o:p></o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier \
New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'>According to this blog what I am \
trying to do is possible, but does not seem to be working.&nbsp; Hoping someone can \
point me to what I am doing wrong pretty quickly, or to a link that will walk by thru \
the steps, as I am on a pretty tight project timeline.<o:p></o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier \
New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'><a \
href="http://www.dimuthu.org/blog/2009/02/09/code-generate-custom-soap-faults-for-axis \
2c/">http://www.dimuthu.org/blog/2009/02/09/code-generate-custom-soap-faults-for-axis2c/</a><o:p></o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier \
New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'>The blogs states that the WSLD2C \
code generation should add extra structures and extra function parameters for custom \
SOAP faults.&nbsp; I am not getting these extra fields from the code \
generation.&nbsp; Do I need to modify the generated code \
manually???<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>I am \
including the output from WSDL2C, including the jar files being \
used.<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>I command \
line that I ran to create the code. &#8216;WSDL2C.sh -uri \
dataLoadTool_Implementation_STORE_V1_0.wsdl -u \
&#8211;ss&#8217;<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>The \
resulting skeleton files products from the run.<o:p></o:p></span></p><p \
class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier \
New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'>The WSDL and XSD files that I used \
when calling WSDL2C.<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Courier \
New";color:#003300'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span \
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#1A75CF'>L. Michael \
Tyler, II</span></b><span style='color:#003300'><o:p></o:p></span></p><p \
class=MsoNormal><b><span \
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>System Analyst \
- ISD Aps Dev Store Systems Services<o:p></o:p></span></b></p><p \
class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>Phone \
479.277.2811</span><span style='color:#003300'><o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'>BlackBerry \
479.420.3798</span><span style='color:#003300'><o:p></o:p></span></p><p \
class=MsoNormal><span style='color:#003300'><a \
href="mailto:Michael.Tyler@wal-mart.com"><span \
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:blue'>Michael.Tyler@wal-mart.com</span></a><o:p></o:p></span></p><p \
class=MsoNormal><span style='color:#003300'><a href="mailto:pageLMTYLER"><span \
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:blue'>page Tyler \
Michael</span></a> <o:p></o:p></span></p><p \
class=MsoNormal><o:p>&nbsp;</o:p></p></div> <DIV>
This email and any files transmitted with it are confidential and intended solely for \
the individual or entity to whom they are addressed. If you have received this email \
in error destroy it immediately. *** Walmart Confidential ***<BR> \
</DIV></body></html>


["WSDL2C_output.rtf" (application/rtf)]
["axis2_skel_dataLoadTool_STORE.c" (text/plain)]



    /**
     * axis2_skel_dataLoadTool_STORE.c
     *
     * This file was auto-generated from WSDL for \
"dataLoadTool_STORE|http://www.example.org/dataLoadTool_Implementation_STORE_V1_0/" \
                service
     * by the Apache Axis2/C version: 1.4.1  Built on : Aug 13, 2008 (05:03:35 LKT)
     * axis2_skel_dataLoadTool_STORE Axis2/C skeleton for the axisService
     */

     #include "axis2_skel_dataLoadTool_STORE.h"

     

		 
        /**
         * auto generated function definition signature
         * for "backupAndReplaceFile|http://www.xmls.walmartstores.com/StoreSystems/StoreServices/wsdl/dataLoadTool_STORE/V1.0/" \
operation.  
         *
         * @param backupAndReplaceFile
         *
         * @return adb_backupAndReplaceFileResponse0_t** @param backupAndReplaceFile
         */
         adb_backupAndReplaceFileResponse0_t* \
                axis2_skel_dataLoadTool_STORE_backupAndReplaceFile (const \
                axutil_env_t *env  ,
                                              adb_backupAndReplaceFile_t* \
backupAndReplaceFile )  {
          /* TODO fill this with the necessary business logic */
          return NULL;
        }
     

		 
        /**
         * auto generated function definition signature
         * for "purgeTable|http://www.xmls.walmartstores.com/StoreSystems/StoreServices/wsdl/dataLoadTool_STORE/V1.0/" \
operation.  
         *
         * @param purgeTable
         *
         * @return adb_purgeTableResponse1_t** @param purgeTable
         */
         adb_purgeTableResponse1_t* axis2_skel_dataLoadTool_STORE_purgeTable (const \
                axutil_env_t *env  ,
                                              adb_purgeTable_t* purgeTable )
        {
          /* TODO fill this with the necessary business logic */
          return NULL;
        }
     

		 
        /**
         * auto generated function definition signature
         * for "loadTable|http://www.xmls.walmartstores.com/StoreSystems/StoreServices/wsdl/dataLoadTool_STORE/V1.0/" \
operation.  
         *
         * @param loadTable
         *
         * @return adb_loadTableResponse2_t** @param loadTable
         */
         adb_loadTableResponse2_t* axis2_skel_dataLoadTool_STORE_loadTable (const \
axutil_env_t *env  ,  adb_loadTable_t* loadTable )
        {
          /* TODO fill this with the necessary business logic */
          return NULL;
        }
     


["axis2_skel_dataLoadTool_STORE.h" (text/plain)]



    /**
     * axis2_skel_dataLoadTool_STORE.h
     *
     * This file was auto-generated from WSDL for \
"dataLoadTool_STORE|http://www.example.org/dataLoadTool_Implementation_STORE_V1_0/" \
                service
     * by the Apache Axis2/C version: 1.4.1  Built on : Aug 13, 2008 (05:03:35 LKT)
     * axis2_skel_dataLoadTool_STORE Axis2/C skeleton for the axisService- Header \
                file
     */


	#include <axis2_svc_skeleton.h>
	#include <axutil_log_default.h>
	#include <axutil_error_default.h>
	#include <axiom_text.h>
	#include <axiom_node.h>
	#include <axiom_element.h>
    #include <stdio.h>


   
     #include "adb_backupAndReplaceFile.h"
    
     #include "adb_backupAndReplaceFileResponse0.h"
    
     #include "adb_purgeTable.h"
    
     #include "adb_purgeTableResponse1.h"
    
     #include "adb_loadTable.h"
    
     #include "adb_loadTableResponse2.h"
    

	#ifdef __cplusplus
	extern "C" {
	#endif

     

		 
        /**
         * auto generated function declaration
         * for "backupAndReplaceFile|http://www.xmls.walmartstores.com/StoreSystems/StoreServices/wsdl/dataLoadTool_STORE/V1.0/" \
operation.  
         *
         * @param backupAndReplaceFile
         *
         * @return adb_backupAndReplaceFileResponse0_t** @param backupAndReplaceFile
         */
        adb_backupAndReplaceFileResponse0_t* \
                axis2_skel_dataLoadTool_STORE_backupAndReplaceFile (const \
                axutil_env_t *env  ,
                                          adb_backupAndReplaceFile_t* \
backupAndReplaceFile );  

		 
        /**
         * auto generated function declaration
         * for "purgeTable|http://www.xmls.walmartstores.com/StoreSystems/StoreServices/wsdl/dataLoadTool_STORE/V1.0/" \
operation.  
         *
         * @param purgeTable
         *
         * @return adb_purgeTableResponse1_t** @param purgeTable
         */
        adb_purgeTableResponse1_t* axis2_skel_dataLoadTool_STORE_purgeTable (const \
axutil_env_t *env  ,  adb_purgeTable_t* purgeTable );
     

		 
        /**
         * auto generated function declaration
         * for "loadTable|http://www.xmls.walmartstores.com/StoreSystems/StoreServices/wsdl/dataLoadTool_STORE/V1.0/" \
operation.  
         *
         * @param loadTable
         *
         * @return adb_loadTableResponse2_t** @param loadTable
         */
        adb_loadTableResponse2_t* axis2_skel_dataLoadTool_STORE_loadTable (const \
axutil_env_t *env  ,  adb_loadTable_t* loadTable );
     

	#ifdef __cplusplus
	}
	#endif
    


["axis2_svc_skel_dataLoadTool_STORE.c" (text/plain)]



        /**
         * axis2_svc_skel_dataLoadTool_STORE.c
         *
         * This file was auto-generated from WSDL for \
"dataLoadTool_STORE|http://www.example.org/dataLoadTool_Implementation_STORE_V1_0/" \
                service
         * by the Apache Axis2 version: 1.4.1  Built on : Aug 13, 2008 (05:03:35 LKT)
         *  axis2_svc_skel_dataLoadTool_STORE
         */

        #include "axis2_skel_dataLoadTool_STORE.h"
        #include <axis2_svc_skeleton.h>
        #include <stdio.h>
        #include <axis2_svc.h>

        /**
         * functions prototypes
         */

        /* On fault, handle the fault */
        axiom_node_t* AXIS2_CALL
        axis2_svc_skel_dataLoadTool_STORE_on_fault(axis2_svc_skeleton_t \
*svc_skeleton,  const axutil_env_t *env, axiom_node_t *node);

        /* Free the service */
        int AXIS2_CALL
        axis2_svc_skel_dataLoadTool_STORE_free(axis2_svc_skeleton_t *svc_skeleton,
                  const axutil_env_t *env);

        /* This method invokes the right service method */
        axiom_node_t* AXIS2_CALL
        axis2_svc_skel_dataLoadTool_STORE_invoke(axis2_svc_skeleton_t *svc_skeleton,
                    const axutil_env_t *env,
                    axiom_node_t *node,
                    axis2_msg_ctx_t *msg_ctx);

        /* Initializing the environment  */
        int AXIS2_CALL
        axis2_svc_skel_dataLoadTool_STORE_init(axis2_svc_skeleton_t *svc_skeleton,
                        const axutil_env_t *env);

        /* Create the service  */
        axis2_svc_skeleton_t* AXIS2_CALL
        axis2_svc_skel_dataLoadTool_STORE_create(const axutil_env_t *env);

        static const axis2_svc_skeleton_ops_t \
axis2_svc_skel_dataLoadTool_STORE_svc_skeleton_ops_var = {  \
axis2_svc_skel_dataLoadTool_STORE_init,  axis2_svc_skel_dataLoadTool_STORE_invoke,
            axis2_svc_skel_dataLoadTool_STORE_on_fault,
            axis2_svc_skel_dataLoadTool_STORE_free
        };


        /**
         * Implementations for the functions
         */

	axis2_svc_skeleton_t* AXIS2_CALL
	axis2_svc_skel_dataLoadTool_STORE_create(const axutil_env_t *env)
	{
	    axis2_svc_skeleton_t *svc_skeleton = NULL;
        /* Allocate memory for the structs */
        svc_skeleton = (axis2_svc_skeleton_t *)AXIS2_MALLOC(env->allocator,
            sizeof(axis2_svc_skeleton_t));

        svc_skeleton->ops = &axis2_svc_skel_dataLoadTool_STORE_svc_skeleton_ops_var;


	    return svc_skeleton;
	}


	int AXIS2_CALL
	axis2_svc_skel_dataLoadTool_STORE_init(axis2_svc_skeleton_t *svc_skeleton,
	                        const axutil_env_t *env)
	{
	    /* Any initialization stuff of axis2_skel_dataLoadTool_STORE goes here */
	    return AXIS2_SUCCESS;
	}

	int AXIS2_CALL
	axis2_svc_skel_dataLoadTool_STORE_free(axis2_svc_skeleton_t *svc_skeleton,
				 const axutil_env_t *env)
	{

        /* Free the service skeleton */
        if (svc_skeleton)
        {
            AXIS2_FREE(env->allocator, svc_skeleton);
            svc_skeleton = NULL;
        }

        return AXIS2_SUCCESS;
	}



     /**
      * function to free any soap input headers
      */
     



     /**
      * function to free any soap output headers
      */
     




	/*
	 * This method invokes the right service method
	 */
	axiom_node_t* AXIS2_CALL
	axis2_svc_skel_dataLoadTool_STORE_invoke(axis2_svc_skeleton_t *svc_skeleton,
				const axutil_env_t *env,
				axiom_node_t *content_node,
				axis2_msg_ctx_t *msg_ctx)
	{
         /* depending on the function name invoke the
          * corresponding  method
          */

          axis2_op_ctx_t *operation_ctx = NULL;
          axis2_op_t *operation = NULL;
          axutil_qname_t *op_qname = NULL;
          axis2_char_t *op_name = NULL;
          axis2_msg_ctx_t *in_msg_ctx = NULL;
          
          axiom_soap_envelope_t *req_soap_env = NULL;
          axiom_soap_header_t *req_soap_header = NULL;
          axiom_soap_envelope_t *res_soap_env = NULL;
          axiom_soap_header_t *res_soap_header = NULL;

          axiom_node_t *ret_node = NULL;
          axiom_node_t *input_header = NULL;
          axiom_node_t *output_header = NULL;
          axiom_node_t *header_base_node = NULL;

          
            adb_backupAndReplaceFileResponse0_t* ret_val1 = NULL;
            adb_backupAndReplaceFile_t* input_val1 = NULL;
            
            adb_purgeTableResponse1_t* ret_val2 = NULL;
            adb_purgeTable_t* input_val2 = NULL;
            
            adb_loadTableResponse2_t* ret_val3 = NULL;
            adb_loadTable_t* input_val3 = NULL;
            

          operation_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env);
          operation = axis2_op_ctx_get_op(operation_ctx, env);
          op_qname = (axutil_qname_t *)axis2_op_get_qname(operation, env);
          op_name = axutil_qname_get_localpart(op_qname, env);

          if (op_name)
          {
               

                if ( axutil_strcmp(op_name, "backupAndReplaceFile") == 0 )
                {
                    
                    input_val1 = 
                        adb_backupAndReplaceFile_create( env);
                        if( AXIS2_FAILURE == \
adb_backupAndReplaceFile_deserialize(input_val1, env, &content_node, NULL, \
AXIS2_FALSE))  {
                            adb_backupAndReplaceFile_free(input_val1, env);
                      
                            AXIS2_ERROR_SET(env->error, \
                AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE);
                            AXIS2_LOG_ERROR( env->log, AXIS2_LOG_SI, "NULL returnted \
                from the backupAndReplaceFile_deserialize: "
                                        "This should be due to an invalid XML");
                            return NULL;      
                        }
                        


                    ret_val1 =  \
axis2_skel_dataLoadTool_STORE_backupAndReplaceFile(env ,input_val1    );  
                        if ( NULL == ret_val1 )
                        {
                            AXIS2_ERROR_SET(env->error, \
                AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE);
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL returnted \
from the business logic from backupAndReplaceFile ");  
                                adb_backupAndReplaceFile_free(input_val1, env);
                            
                            return NULL; 
                        }
                        ret_node = 
                                   \
adb_backupAndReplaceFileResponse0_serialize(ret_val1, env, NULL, NULL, AXIS2_TRUE, \
                NULL, NULL);
                                   adb_backupAndReplaceFileResponse0_free(ret_val1, \
env);  
                                    adb_backupAndReplaceFile_free(input_val1, env);
                                   

                        return ret_node;
                    

                    
                    

                }
             

                if ( axutil_strcmp(op_name, "purgeTable") == 0 )
                {
                    
                    input_val2 = 
                        adb_purgeTable_create( env);
                        if( AXIS2_FAILURE == adb_purgeTable_deserialize(input_val2, \
env, &content_node, NULL, AXIS2_FALSE))  {
                            adb_purgeTable_free(input_val2, env);
                      
                            AXIS2_ERROR_SET(env->error, \
                AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE);
                            AXIS2_LOG_ERROR( env->log, AXIS2_LOG_SI, "NULL returnted \
                from the purgeTable_deserialize: "
                                        "This should be due to an invalid XML");
                            return NULL;      
                        }
                        


                    ret_val2 =  axis2_skel_dataLoadTool_STORE_purgeTable(env \
,input_val2    );  
                        if ( NULL == ret_val2 )
                        {
                            AXIS2_ERROR_SET(env->error, \
                AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE);
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL returnted \
from the business logic from purgeTable ");  
                                adb_purgeTable_free(input_val2, env);
                            
                            return NULL; 
                        }
                        ret_node = 
                                   adb_purgeTableResponse1_serialize(ret_val2, env, \
                NULL, NULL, AXIS2_TRUE, NULL, NULL);
                                   adb_purgeTableResponse1_free(ret_val2, env);
                                   
                                    adb_purgeTable_free(input_val2, env);
                                   

                        return ret_node;
                    

                    
                    

                }
             

                if ( axutil_strcmp(op_name, "loadTable") == 0 )
                {
                    
                    input_val3 = 
                        adb_loadTable_create( env);
                        if( AXIS2_FAILURE == adb_loadTable_deserialize(input_val3, \
env, &content_node, NULL, AXIS2_FALSE))  {
                            adb_loadTable_free(input_val3, env);
                      
                            AXIS2_ERROR_SET(env->error, \
                AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE);
                            AXIS2_LOG_ERROR( env->log, AXIS2_LOG_SI, "NULL returnted \
                from the loadTable_deserialize: "
                                        "This should be due to an invalid XML");
                            return NULL;      
                        }
                        


                    ret_val3 =  axis2_skel_dataLoadTool_STORE_loadTable(env \
,input_val3    );  
                        if ( NULL == ret_val3 )
                        {
                            AXIS2_ERROR_SET(env->error, \
                AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE);
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL returnted \
from the business logic from loadTable ");  
                                adb_loadTable_free(input_val3, env);
                            
                            return NULL; 
                        }
                        ret_node = 
                                   adb_loadTableResponse2_serialize(ret_val3, env, \
                NULL, NULL, AXIS2_TRUE, NULL, NULL);
                                   adb_loadTableResponse2_free(ret_val3, env);
                                   
                                    adb_loadTable_free(input_val3, env);
                                   

                        return ret_node;
                    

                    
                    

                }
             
             }
          printf("axis2_svc_skel_dataLoadTool_STORE service ERROR: invalid OM \
parameters in request\n");  return NULL;
    }

    axiom_node_t* AXIS2_CALL
    axis2_svc_skel_dataLoadTool_STORE_on_fault(axis2_svc_skeleton_t *svc_skeleton,
                  const axutil_env_t *env, axiom_node_t *node)
	{
		axiom_node_t *error_node = NULL;
		axiom_element_t *error_ele = NULL;
		error_ele = axiom_element_create(env, node, "fault", NULL,
    					&error_node);
		axiom_element_set_text(error_ele, env, \
"dataLoadTool_STORE|http://www.example.org/dataLoadTool_Implementation_STORE_V1_0/ \
failed",  error_node);
		return error_node;
	}


	/**
	 * Following block distinguish the exposed part of the dll.
 	 */

    AXIS2_EXTERN int
    axis2_get_instance(struct axis2_svc_skeleton **inst,
	                        const axutil_env_t *env)
	{
		*inst = axis2_svc_skel_dataLoadTool_STORE_create(env);

        if(!(*inst))
        {
            return AXIS2_FAILURE;
        }

  		return AXIS2_SUCCESS;
	}

	AXIS2_EXTERN int 
    axis2_remove_instance(axis2_svc_skeleton_t *inst,
                            const axutil_env_t *env)
	{
        axis2_status_t status = AXIS2_FAILURE;
       	if (inst)
        {
            status = AXIS2_SVC_SKELETON_FREE(inst, env);
        }
    	return status;
	}


    


["dataLoadTool_Implementation_STORE_V1_0.wsdl" (application/octet-stream)]
["dataLoadTool_Interface_STORE_V1_0.wsdl" (application/octet-stream)]
["dataLoadToolBusinessData.xsd" (text/xml)]

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
	targetNamespace="http://www.xmls.walmartstores.com/StoreSystems/StoreServices/datatypes/dataLoadToolBusinessData/1.0/"
  elementFormDefault="qualified"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:dltBD="http://www.xmls.walmartstores.com/StoreSystems/StoreServices/datatypes/dataLoadToolBusinessData/1.0/" \
xmlns:dltCD="http://www.xmls.walmartstores.com/StoreSystems/StoreServices/datatypes/dataLoadToolCoreData/1.0/">


	<xs:import schemaLocation="dataLoadToolCoreData.xsd" \
namespace="http://www.xmls.walmartstores.com/StoreSystems/StoreServices/datatypes/dataLoadToolCoreData/1.0/"></xs:import>
  <xs:complexType name="GetListOfTablesRequest">
		<xs:sequence>
			<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
minOccurs="1"></xs:element>  <xs:element name="productionSite" type="dltCD:Store" \
maxOccurs="1" minOccurs="1"></xs:element>  <xs:element name="testSite" \
type="dltCD:Store" maxOccurs="1" minOccurs="1"></xs:element>  <xs:element \
name="tableListFileName" type="dltCD:FileName" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
	</xs:complexType>

	<xs:complexType name="GetListOfTablesResponse">
		<xs:sequence>
			<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
minOccurs="1"></xs:element>  <xs:element name="productionSite" type="dltCD:Store" \
maxOccurs="1" minOccurs="1"></xs:element>  <xs:element name="testSite" \
type="dltCD:Store" maxOccurs="1" minOccurs="1"></xs:element>  <xs:element \
name="tableList" type="dltCD:TableList" maxOccurs="1" minOccurs="1"></xs:element>  \
</xs:sequence>  </xs:complexType>
	

    <xs:complexType name="GetListOfFilesRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="fileListFileName" type="dltCD:FileName" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="GetListOfFilesResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="fileList" type="dltCD:FileList" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="ReceiveTableRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="table" type="dltCD:Table" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="ReceiveTableResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="success" type="dltCD:Success"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="ReceiveFileRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="fileName" type="dltCD:FileName" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="ReceiveFileResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="success" type="dltCD:Success"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="RunScrubberProcessRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="scrubberProcessName"
    			type="dltCD:ProgramName" maxOccurs="1" minOccurs="1">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="RunScrubberProcessResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="success" type="dltCD:Success" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="SendFileToTestRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="newFile" type="dltCD:File" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="SendFileToTestResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="success" type="dltCD:Success" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="SendTableToTestRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1" \
minOccurs="1"></xs:element>  <xs:element name="table" type="dltCD:Table" \
maxOccurs="1"  minOccurs="1">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="SendTableToTestResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="success" type="dltCD:Success" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>


    <xs:complexType name="BackupAndReplaceFileRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="newFile" type="dltCD:File" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="BackupAndReplaceFileResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store"></xs:element>
    		<xs:element name="success" type="dltCD:Success"></xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="PurgeTableRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store"></xs:element>
    		<xs:element name="purgeTable" type="dltCD:TableName"></xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="PurgeTableResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store"></xs:element>
    		<xs:element name="success" type="dltCD:Success"></xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="LoadTableRequest">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="productionSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="loadTable" type="dltCD:Table" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:complexType name="LoadTableResponse">
    	<xs:sequence>
    		<xs:element name="userID" type="dltCD:UserId" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="productionSite" type="dltCD:Store"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    		<xs:element name="testSite" type="dltCD:Store" maxOccurs="1"
    			minOccurs="1">
    		</xs:element>
    		<xs:element name="success" type="dltCD:Success"
    			maxOccurs="1" minOccurs="1">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>


    <xs:complexType name="ExceptionFault">
    	<xs:sequence>
    		<xs:element name="error" type="dltCD:Error"></xs:element>
    	</xs:sequence>
    </xs:complexType>

    <xs:complexType name="GetListOfTablesFaultResponse">
    	<xs:sequence>
    		<xs:element name="error" type="dltBD:ExceptionFault"
    			maxOccurs="unbounded" minOccurs="0">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>
</xs:schema>


["dataLoadToolCoreData.xsd" (text/xml)]

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.xmls.walmartstores.com/StoreSystems/StoreServices/datatypes/dataLoadToolCoreData/1.0/"
  elementFormDefault="qualified"
	xmlns:xs="http://www.w3.org/2001/XMLSchema" \
xmlns="http://www.xmls.walmartstores.com/StoreSystems/StoreServices/datatypes/dataLoadToolCoreData/1.0/">


    <xs:simpleType name="FileName">
    	<xs:restriction base="xs:string">
    		<xs:minLength value="4"></xs:minLength>
    		<xs:maxLength value="255"></xs:maxLength>
    	</xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TableName">
    	<xs:restriction base="xs:string">
    		<xs:minLength value="4"></xs:minLength>
    		<xs:maxLength value="26"></xs:maxLength>
    	</xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="ErrorNumber">
    	<xs:restriction base="xs:integer"></xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="ErrorMessage">
    	<xs:restriction base="xs:string"></xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ErrorOccured">
    	<xs:restriction base="xs:boolean"></xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="StoreNumber">
    	<xs:restriction base="xs:nonNegativeInteger">
    		<xs:minInclusive value="1"></xs:minInclusive>
    	</xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CountryCode">
    	<xs:restriction base="xs:string">
    		<xs:length value="2"></xs:length>
    		<xs:whiteSpace value="collapse"></xs:whiteSpace>
    	</xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TableRow">
    	<xs:restriction base="xs:base64Binary"></xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="FileData">
    	<xs:restriction base="xs:base64Binary">
    		<xs:whiteSpace value="collapse"></xs:whiteSpace>
    	</xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UserId">
    	<xs:restriction base="xs:string">
    		<xs:minLength value="4"></xs:minLength>
    		<xs:maxLength value="12"></xs:maxLength>
    	</xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ColumnName">
    	<xs:restriction base="xs:string">
    		<xs:minLength value="4"></xs:minLength>
    		<xs:maxLength value="26"></xs:maxLength>
    	</xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ProgramName">
    	<xs:restriction base="xs:string">
    		<xs:minLength value="4"></xs:minLength>
    		<xs:maxLength value="255"></xs:maxLength>
    	</xs:restriction>
    </xs:simpleType>



    <xs:complexType name="Error">
    	<xs:sequence>
            <xs:element name="errorOccured" type="ErrorOccured" maxOccurs="1" \
                minOccurs="1"></xs:element>
            <xs:element name="error" type="ErrorNumber" maxOccurs="1" \
                minOccurs="0"></xs:element>
    		<xs:element name="errorMessage" type="ErrorMessage" maxOccurs="1" \
minOccurs="0"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Store">
    	<xs:sequence>
            <xs:element name="storeNumber" type="StoreNumber" maxOccurs="1" \
                minOccurs="1"></xs:element>
            <xs:element name="countryCode" type="CountryCode" maxOccurs="1" \
minOccurs="1"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Table">
    	<xs:sequence>
    		<xs:element name="tableName" type="TableName" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="tableRows" type="TableRows" maxOccurs="1" \
minOccurs="0"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:complexType name="TableRows">
    	<xs:sequence>
    		<xs:element name="tableRow" type="TableRow"
    			maxOccurs="unbounded" minOccurs="0">
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>

    <xs:complexType name="File">
    	<xs:sequence>
    		<xs:element name="fileName" type="FileName" maxOccurs="1" \
                minOccurs="1"></xs:element>
    		<xs:element name="fileData" type="FileData" maxOccurs="1" \
minOccurs="0"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:complexType name="TableList">
    	<xs:sequence>
    		<xs:element name="table" type="TableName" minOccurs="0" \
maxOccurs="unbounded"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FileList">
    	<xs:sequence>
    		<xs:element name="file" type="FileName" minOccurs="0" \
maxOccurs="unbounded"></xs:element>  </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="Success">
    	<xs:restriction base="xs:boolean"></xs:restriction>
    </xs:simpleType>
</xs:schema>



---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic