Hi ,
I am trying to call a BPEL process (Which is a Web service it self) from Ruby code.
But i am getting the mapping error...
I tried alot ove rthe net and posting the issue here....
My WSDL of the BPEL Process is ::
<definitions name="AuthenticateUserFlow" targetNamespace="http://xmlns.oracle.com/AuthenticateUserFlow">
−
<types>
−
<schema>
<import namespace="http://xmlns.oracle.com/AuthenticateUserFlow" schemaLocation="AuthenticateUserFlow.xsd"/>
<schema>
<element name="AuthenticateUserFlowProcessRequest">
<complexType>
<sequence>
<element name="userName" type="string"/>
<element name="password" type="string"/>
</sequence>
</complexType>
</element>
<element name="AuthenticateUserFlowProcessResponse">
<complexType>
<sequence>
<element name="userId" type="decimal"/>
<element name="locationId" type="decimal"/>
<element name="tenantId" type="decimal"/>
<element name="userName" type="string"/>
<element name="isValidUser" type="string"/>
<element name="userEmail" type="string"/>
<element name="firstName" type="string"/>
<element name="lastName" type="string"/>
<element name="middleName" type="string"/>
<element name="userAddress" type="string"/>
<element name="userGrade" type="string"/>
<element name="managerName" type="string"/>
<element name="managerUserName" type="string"/>
<element name="flightPreferredSeat" type="string"/>
<element name="flightPreferredMeal" type="string"/>
<element name="carTypePreferred" type="string"/>
<element name="createdOn" type="dateTime"/>
<element name="updatedOn" type="dateTime"/>
<element name="registrationSteps" type="decimal"/>
<element name="StatusCode" type="integer"/>
<element name="StausMessage" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
−
<message name="AuthenticateUserFlowRequestMessage">
<part name="payload" element="tns:AuthenticateUserFlowProcessRequest"/>
</message>
−
<message name="AuthenticateUserFlowResponseMessage">
<part name="payload" element="tns:AuthenticateUserFlowProcessResponse"/>
</message>
−
<portType name="AuthenticateUserFlow">
−
<operation name="process">
<input message="tns:AuthenticateUserFlowRequestMessage"/>
<output message="tns:AuthenticateUserFlowResponseMessage"/>
</operation>
</portType>
−
<binding name="AuthenticateUserFlowBinding" type="tns:AuthenticateUserFlow">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
−
<operation name="process">
<soap:operation style="document" soapAction="process"/>
−
<input>
<soap:body use="literal"/>
</input>
−
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
−
<service name="AuthenticateUserFlow">
−
<port name="AuthenticateUserFlowPort" binding="tns:AuthenticateUserFlowBinding">
<soap:address location="http://localhost:8888/orabpel/default/AuthenticateUserFlow/1.0"/>
</port>
</service>
−
<plnk:partnerLinkType name="AuthenticateUserFlow">
−
<plnk:role name="AuthenticateUserFlowProvider">
<plnk:portType name="tns:AuthenticateUserFlow"/>
</plnk:role>
</plnk:partnerLinkType>
</definitions>
My Ruby code is ::
username = 'Chandra'
password = 'Ravi'
params = {"userName" => username,
"password" => password}
wsdl="http://localhost:8888/orabpel/default/AuthenticateUserFlow/1.0/AuthenticateUserFlow?wsdl"
driver=SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
driver.options["protocol.http.ssl_config.verify_mode"] = nil
@doc=driver.process(params)
puts "#{@doc}"
The Error I am getting is :
SOAP::Mapping::MappingError in HelloworldController#hello
cannot find type {}string
c:/ruby/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:97:in `obj2elesoap'
c:/ruby/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:158:in `complexobj2soap'
c:/ruby/lib/ruby/1.8/wsdl/xmlSchema/complexType.rb:59:in `each_element'
c:/ruby/lib/ruby/1.8/wsdl/xmlSchema/complexType.rb:54:in `each_element'
c:/ruby/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:134:in `complexobj2soap'
c:/ruby/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:115:in `obj2typesoap'
c:/ruby/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:100:in `obj2elesoap'
c:/ruby/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:40:in `obj2soap'
c:/ruby/lib/ruby/1.8/soap/mapping/mapping.rb:127:in `_obj2soap'
c:/ruby/lib/ruby/1.8/soap/mapping/mapping.rb:47:in `obj2soap'
c:/ruby/lib/ruby/1.8/soap/mapping/mapping.rb:360:in `protect_threadvars'
c:/ruby/lib/ruby/1.8/soap/mapping/mapping.rb:43:in `obj2soap'
c:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:422:in `request_doc_lit'
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/inflector.rb:250:in `collect'
c:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:421:in `request_doc_lit'
c:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:386:in `request_doc'
c:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:340:in `request_body'
c:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:123:in `call'
c:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'
c:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:232:in `process'
#{RAILS_ROOT}/app/controllers/helloworld_controller.rb:60:in `hello'
Could Any one suggest me the solution for this.........
0 Replies - 2937 Views - Last Post: 23 September 2007 - 11:01 PM
#1
Problem in communicating with Document literal Webservice
Posted 23 September 2007 - 11:01 PM
Page 1 of 1
|
|

New Topic/Question
This topic is locked




MultiQuote


|