0 Replies - 3014 Views - Last Post: 23 September 2007 - 11:01 PM Rate Topic: -----

#1 chandutou  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 23-September 07

Problem in communicating with Document literal Webservice

Post icon  Posted 23 September 2007 - 11:01 PM

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.........

Is This A Good Question/Topic? 0
  • +

Page 1 of 1