2012-05-13 6 views
0

私は石鹸に新しいですし、私はすでにそれに問題を抱えています!私はsoap4rの宝石を使用しています。soap4r SOAP :: FaultError

gem 'soap4r', :git => 'git://github.com/felipec/soap4r.git' 
require 'soap/wsdlDriver' 
require 'soap/rpc/driver' 
require 'soap/mapping/mapping.rb' 

そして、次のように私は、RPCドライバを初期化します。

def initialize 
    @username = "username" 
    @password = "password" 
    endpoint = "https://someurl.php" 
    namespace = "abc:somenamespace" 
    @driver = SOAP::RPC::Driver.new(endpoint, namespace) 
    end 

私はこのエラーを取得していますブラウザーからエンドポイントを訪問するとき:

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
<SOAP-ENV:Body> 
<SOAP-ENV:Fault> 
<faultcode xsi:type="xsd:string">SOAP-ENV:Client</faultcode> 
<faultactor xsi:type="xsd:string"/> 
<faultstring xsi:type="xsd:string">Operation '' is not defined in the WSDL for this service 
</faultstring> 
<detail xsi:type="xsd:string"/> 
</SOAP-ENV:Fault> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

また、私はこれを行うとき、 from irb:

client = SOAP::WSDLDriverFactory.new("endpoint?wsdl").create_rpc_driver 

I

client.methods(false) 

によって

client = SOAP::WSDLDriverFactory.new(endpoint).createDriver 

、リスト方法と私は1つの方法のgetNameを持っている:私はこれを行うとき

RuntimeError: part: return cannot be resolved 
    from /home/sadiksha/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:144:in `rpcdefinedtype' 
    from /home/sadiksha/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:56:in `collect_rpcparameter' 
. 
. 
. 

しかし:このエラーを取得しています。私はclient.getName(:usernameは=>「ユーザ名」、:{パスワード=>「パスワード」)によってそのメソッドにアクセスしようとすると、それは私はそれがあまりにも長い作るため申し訳ありません

SOAP::FaultError: Username doesn't exist 
    from 

を言って私にエラーを与えます!私は今それについて長い間探してきました。しかし、特定の答えを見つけることができませんでした。誰かが私の質問に答えてくれることを願っています。私はそれがいくつかの認証エラーかもしれないと思っています。

+0

このエラーは認証によって発生しました。入力したユーザー名とパスワードが間違っていました。 –

答えて

0

以下を使用すると、何が起こっているのかをトラブルシューティングするのに役立ちます。生成され受信されたXMLはコンソールにダンプされます。

myWebServiceInstance.wiredump_dev = STDERR