NonStop SOAP 4.1 User's Manual
1. For every operation, add the axis2_pway_xml_receiver message receiver in the
services.xml file. For example:
<operation name=”<operation name>”>
<messageReceiver class=”axis2_pway_xml_receiver”/>
......
......
</operation>
2. Run the WSDL2PWY tool to regenerate the service skeletons.
WSDL2PWY -o <output_directory> —ss —uri <wsdl_file_name>
3. Move the existing business logic code to the newly generated service skeletons. The WSDL2PWY
tool generates a function for each operation to add the business logic. The signature of this
function is changed and the earlier versions have the following signature:
void operation_pway_<operation_name> (char *request_buffer,
char **response_buffer,
long *reply_count,
unsigned short count_read)
{
}
The new function signature is:
void operation_pway_<operation_name> (<req_structure_name> *reqStruct,
<response_structure_name> **respStruct,
<fault_struct_name> **faultStruct)
{
}
The function operation_pway_<operation_name> is in pway<ServiceName>Impl.c
file. In the earlier versions, this function is in pway<ServiceName>.c file.
Move the operation_pway_<operation_name> implementation code from
pway<ServiceName>.c file to the newly generated skeletons in
pway<ServiceName>Impl.c file.
NOTE: The newly generated skeletons have the sample implementation code, and you must
remove them completely before you move the existing business logic code.
4. Modify the following in the business logic.
• The field names in the newly generated structure definitions will not have
_type<numeric_number> at the end. The field name change has considerable impact
on the business logic, and the name must be changed wherever it is used in the code.
• Dynamic arrays will not have an impact on how the data is accessed, but to find out the
length of the array, use the _size<array_name> field. If there are any dynamic arrays
in the response structure, explicitly allocate the memory and then set the value. Also,
populate _size<array_name> field with the number of elements in the array.
• Nested structures are removed and independent structures are created for each complex
type in the WSDL. These independent structures are used as reference in other structures.
Removal of nested structures does not have any impact on data access from the structure
but to find the length of dynamic array, use _size<array_name> field.
• For the function signature, see Step 3.
5. Compile the modified code.
6. Deploy the service in Pathway environment.
The WSDL2PWY Tool 209










