[erlang-questions] Troubleshooting using YAWS + SOAP

Laura M. Castro Souto <>
Tue Jul 17 11:44:45 CEST 2007


   Hello Willem, hello list,

> Can you give a little more background information?

	Of course. I should have in my email to the list, actually (sorry for that).

> - Did you use the soap functionality that is packaged with YAWS? (as
> described here: http://yaws.hyber.org/soap_intro.yaws)

	Yes, we are using yaws soap functionality (version is 1.68). And yes, what we 
did is essentially what is explained on the "The SOAP server side" section of 
that page.

> - Do you use an WSDL? Could you send it to me (or to the list), so I could
> do some tests?

	Yes, we do have an WSDL file. You can find it attached.

> - Did you try to use the soap client that is provided with yaws? Does that
> work?

	No, we didn't. Since we used our own client and also the SOAPUi client (and 
obtained the same results), we figured out that the problem shouldn't be 
involving the client. Do you think this is a possibility? If you do, where in 
the yaws distribution is that sample soap client located?

	We have also tried to increment the gen_server timeout, but there was no 
improvement. Even though the process seems to die due to a timeout (as the 
error message claims), the death is just inmediate, as if it were just 
receiving the client call, invoking our handler module and then crashing 
right after that.

	By the way, we had exactly the same problem that Ahmed Ali referred to, with 
the "nillable" property of the service parameters, but after we removed them 
(and also an "attributeFormDefault="qualified"" from the wsdl:definitions 
header) that problem dissapeared in our case (I am attaching the original 
WSDL file, too).
	
	Thank you very much for your time.

	Regards,

--
Laura M. Castro
MADS Group - Computer Science Department
University of A Corunna
http://www.madsgroup.org/staff/laura/index_en.html
-------------- next part --------------
<wsdl:definitions xmlns:axis2="http://ws.apache.org/axis2" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ns="http://ws.apache.org/axis2/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.apache.org/axis2"><wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.apache.org/axis2/xsd">
<xs:element name="setParte">
<xs:complexType>
<xs:sequence>
<xs:element name="param0" nillable="true" type="xs:string" />
<xs:element name="param1" nillable="true" type="xs:string" />
<xs:element name="param2" nillable="true" type="xs:string" />
<xs:element name="param3" nillable="true" type="xs:string" />
<xs:element name="param4" nillable="true" type="xs:string" />
<xs:element name="param5" nillable="true" type="xs:string" />
<xs:element name="param6" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="setParteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="return" nillable="true" type="ns:CodigoVO" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CodigoVO" type="ns:CodigoVO" />
<xs:complexType name="CodigoVO">
<xs:sequence>
<xs:element name="etiqueta" nillable="true" type="xs:string" />
<xs:element name="valor" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:schema></wsdl:types><wsdl:message name="setParteMessage"><wsdl:part name="part1" element="ns:setParte" 
/></wsdl:message><wsdl:message name="setParteResponseMessage"><wsdl:part name="part1" element="ns:setParteResponse" 
/></wsdl:message><wsdl:portType name="Service.yawsPortType"><wsdl:operation name="setParte"><wsdl:input 
message="axis2:setParteMessage" /><wsdl:output message="axis2:setParteResponseMessage" 
/></wsdl:operation></wsdl:portType><wsdl:binding name="Service.yawsSOAP11Binding" 
type="axis2:Service.yawsPortType"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" /><wsdl:operation name="setParte"><soap:operation soapAction="urn:setParte" style="document" 
/><wsdl:input><soap:body use="literal" namespace="http://ws.apache.org/axis2" /></wsdl:input><wsdl:output><soap:body 
use="literal" namespace="http://ws.apache.org/axis2" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
name="Service.yawsSOAP12Binding" type="axis2:Service.yawsPortType"><soap12:binding 
transport="http://schemas.xmlsoap.org/soap/http" style="document" /><wsdl:operation 
name="setParte"><soap12:operation soapAction="urn:setParte" style="document" /><wsdl:input><soap12:body 
use="literal" namespace="http://ws.apache.org/axis2" /></wsdl:input><wsdl:output><soap12:body use="literal" 
namespace="http://ws.apache.org/axis2" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service 
name="Service.yaws"><wsdl:port name="Service.yawsSOAP11port" 
binding="axis2:Service.yawsSOAP11Binding"><soap:address 
location="http://localhost:8888/Service.yaws" /></wsdl:port><wsdl:port 
name="Service.yawsSOAP12port" binding="axis2:Service.yawsSOAP12Binding"><soap12:address location="http://localhost:8888/Service.yaws" /></wsdl:port></wsdl:service></wsdl:definitions>
-------------- next part --------------
<wsdl:definitions xmlns:axis2="http://ws.apache.org/axis2" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ns="http://ws.apache.org/axis2/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.apache.org/axis2"><wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://ws.apache.org/axis2/xsd">
<xs:element name="setParte">
<xs:complexType>
<xs:sequence>
<xs:element name="param0" type="xs:string" />
<xs:element name="param1" type="xs:string" />
<xs:element name="param2" type="xs:string" />
<xs:element name="param3" type="xs:string" />
<xs:element name="param4" type="xs:string" />
<xs:element name="param5" type="xs:string" />
<xs:element name="param6" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="setParteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="return" type="ns:CodigoVO" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CodigoVO" type="ns:CodigoVO" />
<xs:complexType name="CodigoVO">
<xs:sequence>
<xs:element name="etiqueta" type="xs:string" />
<xs:element name="valor" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:schema></wsdl:types><wsdl:message name="setParteMessage"><wsdl:part name="part1" element="ns:setParte" 
/></wsdl:message><wsdl:message name="setParteResponseMessage"><wsdl:part name="part1" element="ns:setParteResponse" 
/></wsdl:message><wsdl:portType name="Service.yawsPortType"><wsdl:operation name="setParte"><wsdl:input 
message="axis2:setParteMessage" /><wsdl:output message="axis2:setParteResponseMessage" 
/></wsdl:operation></wsdl:portType><wsdl:binding name="Service.yawsSOAP11Binding" 
type="axis2:Service.yawsPortType"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" /><wsdl:operation name="setParte"><soap:operation soapAction="urn:setParte" style="document" 
/><wsdl:input><soap:body use="literal" namespace="http://ws.apache.org/axis2" /></wsdl:input><wsdl:output><soap:body 
use="literal" namespace="http://ws.apache.org/axis2" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
name="Service.yawsSOAP12Binding" type="axis2:Service.yawsPortType"><soap12:binding 
transport="http://schemas.xmlsoap.org/soap/http" style="document" /><wsdl:operation 
name="setParte"><soap12:operation soapAction="urn:setParte" style="document" /><wsdl:input><soap12:body 
use="literal" namespace="http://ws.apache.org/axis2" /></wsdl:input><wsdl:output><soap12:body use="literal" 
namespace="http://ws.apache.org/axis2" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service 
name="Service.yaws"><wsdl:port name="Service.yawsSOAP11port" 
binding="axis2:Service.yawsSOAP11Binding"><soap:address 
location="http://localhost:8888/Service.yaws" /></wsdl:port><wsdl:port 
name="Service.yawsSOAP12port" binding="axis2:Service.yawsSOAP12Binding"><soap12:address location="http://localhost:8888/Service.yaws" /></wsdl:port></wsdl:service></wsdl:definitions>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20070717/309e5be4/attachment.bin>


More information about the erlang-questions mailing list