K
Kuro Kurosaka
Hi,
I'm new to Ruby (just finished Hello World) and also fairly new to SOAP.
I have a Java service written using CXF.
I ran these lines with the WSDL generated by CXF:
require 'soap/wsdlDriver'
WSDL_URI = 'http://xpen-kuro:8080/cxf_service/HelloWorld?wsdl'
hw = SOAP::WSDLDriverFactory.new(WSDL_URI).create_rpc_driver
hw.generate_explicit_type = true
hw.wiredump_dev = STDOUT
res = hw.sayHi('Hello World!')
Then I've got this error:
SOAP::Mapping::MappingError: cannot find type {}sayHi
What does this mean?
Does "{}sayHi" means anything special in Ruby?
sayHi is defined as an element in the <type> section,
as a message, and as an operation in the WSDL:
<wsdl:types>
<xsd:schema xmlns="http://spring.demo/" ...>
<xsd:element name="sayHi" type="sayHi"/>
<xsd:complexType name="sayHi">
<xsd:sequence>
<xsd:element minOccurs="0" name="arg0" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
...
<wsdl:binding name="HelloWorldImplServiceSoapBinding"
type="ns1:HelloWorld">
<soap:binding style="document" transport="...">
<wsdlperation name="sayHi">
<soapperation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
...
<wsdl:binding name="HelloWorldImplServiceSoapBinding"
type="ns1:HelloWorld">
<soap:binding style="document" transport="..."/>
<wsdlperation name="sayHi">
<soapperation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
<wsdlutput name="sayHiResponse">
<soap:body use="literal"/>
</wsdlutput>
</wsdlperation>
I'm new to Ruby (just finished Hello World) and also fairly new to SOAP.
I have a Java service written using CXF.
I ran these lines with the WSDL generated by CXF:
require 'soap/wsdlDriver'
WSDL_URI = 'http://xpen-kuro:8080/cxf_service/HelloWorld?wsdl'
hw = SOAP::WSDLDriverFactory.new(WSDL_URI).create_rpc_driver
hw.generate_explicit_type = true
hw.wiredump_dev = STDOUT
res = hw.sayHi('Hello World!')
Then I've got this error:
SOAP::Mapping::MappingError: cannot find type {}sayHi
What does this mean?
Does "{}sayHi" means anything special in Ruby?
sayHi is defined as an element in the <type> section,
as a message, and as an operation in the WSDL:
<wsdl:types>
<xsd:schema xmlns="http://spring.demo/" ...>
<xsd:element name="sayHi" type="sayHi"/>
<xsd:complexType name="sayHi">
<xsd:sequence>
<xsd:element minOccurs="0" name="arg0" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
...
<wsdl:binding name="HelloWorldImplServiceSoapBinding"
type="ns1:HelloWorld">
<soap:binding style="document" transport="...">
<wsdlperation name="sayHi">
<soapperation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
...
<wsdl:binding name="HelloWorldImplServiceSoapBinding"
type="ns1:HelloWorld">
<soap:binding style="document" transport="..."/>
<wsdlperation name="sayHi">
<soapperation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
<wsdlutput name="sayHiResponse">
<soap:body use="literal"/>
</wsdlutput>
</wsdlperation>