WebReference.com - Chapter 30 of Curl Programming Bible, from John Wiley & Sons (4/8) | WebReference

WebReference.com - Chapter 30 of Curl Programming Bible, from John Wiley & Sons (4/8)

To page 1To page 2To page 3current pageTo page 5To page 6To page 7To page 8
[previous] [next]

Curl Programming Bible, chapter 30

Troubleshooting SOAP Calls

The Soap-1-1-HttpOperation.call has a trace? keyword argument that may be useful in troubleshooting SOAP calls. If trace? is set to true , the HTTP request (containing the SOAP request) and the HTTP response (containing the SOAP response) are written to the Output Log.

If you get an error message of the form unable to marshal value of XML type ..., the Curl SOAP support could not find a procedure to convert an input argument into XML. It attempts to find this procedure using the information in the descriptor corresponding to the argument. When you get this error, it may indicate the information in the argument descriptor is incorrect or that you need to supply a procedure to marshal the argument into XML (because it is not one of the Curl supplied mappings). Or the error may indicate that you did not register the mapping or supply the registry in the call method. See "Creating Custom Mappings" for more information.

If you get a message of the form unable to unmarshal value of XML type ..., the Curl SOAP support could not find a procedure to convert the XML representing an output argument into a Curl value. When you get this error, it may indi-cate the information in the argument descriptor is incorrect or that you need to supply a procedure to unmarshal the XML data into a Curl value (because it is not one of the Curl supplied mappings). Or the error may indicate that you did not register the mapping or supply the registry in the call method. See "Creating Custom Mappings" for more information.

If you get an error message of the form error converting..., it indicates an error when decoding XML representing an output argument into a Curl value. This may happen when the corresponding argument descriptor contains incorrect type information. You can use the trace? keyword argument on the call to examine the response message. The response message contains the output argument that caused the failure.

A SOAP call may throw a Soap-1-1-FaultException . This happens when the SOAP response contains a SOAP Fault element. The SOAP Fault element has a faultcode subelement. The fault-code field of Soap-1-1-FaultException contains the value of the faultcode subelement. SOAP defines four values of faultcode:

A faultcode value of VersionMismatch means the SOAP server does not understand SOAP 1.1 requests. SOAP 1.1 is the first and most widely deployed SOAP version so it is unlikely the faultcode will have this value.

A faultcode value of MustUnderstand means the SOAP request contained a SOAP Header with the mustUnderstand attribute and the SOAP server does not understand part of that SOAP Header.

A faultcode value of Client means the SOAP server detected an error in the SOAP request. Usually this means there is an error in the information that describes the SOAP operation (the fields of the Soap-1-1-HttpOperation ). You can use the trace? keyword argument on the call to examine the response message. The SOAP Fault element in the response message often contains additional information that may help diagnose the reason for the failure.

A faultcode value of Server means the SOAP request failed for reasons related to the SOAP server rather than any error in the SOAP request. You can use the trace? keyword argument on the call to examine the response message. The SOAP Fault element in the response message often contains additional information that may help diagnose the reason for the failure.

A SOAP request may cause an HTTP error. The cause of the failure may be that the address field of the Soap-1-1-HttpOperation is incorrectly specified. Or it may be that the Web server is unavailable.

A SOAP request may cause a SecurityException. See the "SOAP and Security" section in this chapter for more information.


To page 1To page 2To page 3current pageTo page 5To page 6To page 7To page 8
[previous] [next]

Created: August 14, 2002
Revised: August 14, 2002

URL: http://webreference.com/programming/curlbible/chap30/4.html