2012-04-20 25 views
0

NCBI(National Center for Biotechnology Information)は、C++、C#、Perl、Javaのバイオインフォマティクス用に、このSOAPクライアントのPHPバージョンはありません。C++、C#、Perl、またはJavaからPHPへの変換

ftp://lucid.bic.nus.edu.sg/biomirrors/blast/web_services/

ここで私たちは、遺伝子配列をBLAST助けPerlのSOAPクライアントの一部です:

my $search_lite = SOAP::Data->value(
     SOAP::Data->name('options' => 
         \SOAP::Data->value(
     SOAP::Data->name('Blast4-options-lite' => 
         \SOAP::Data->name('task' => 'blastn')) 
         )))->uri(NCBI_XML_NAMESPACE); 

    my $result = 
     $soap->call(SOAP::Data->name('Blast4-queue-search-request-lite') 
          ->uri(NCBI_XML_NAMESPACE) 
          => $search_lite); 

私はPHPに変換しようとしたが、それは動作しません。私は、このガイドラインをも使用:ここでhttp://www.ncbi.nlm.nih.gov/books/NBK55699/

は私のPHPコードです:

try { 
    $soapClient = new SoapClient($wsdlUrl); 

    $result = $soapClient->SubmitSearchLite(array(
     //???? 
    )); 
    echo $result; 
} 
catch {} 

あなたは私がそれを修正する助けてくださいもらえますか?

+2

エラーは何ですか? – Anil

+0

"エラー:SOAP-ERROR:エンコーディング:オブジェクトに 'オプション'プロパティがありません。 – Nate

+0

オプションを設定しないのはなぜですか? – CapelliC

答えて

1

PHP/Java Bridgeとお考えですか?これは、Javaを介してWebサービスを消費して、PHPアプリケーションにあなたが持っているどんな情報でも送信できるようにする必要があります。

The PHP/Java Bridge is an implementation of a streaming, XML-based network protocol, which can be used to connect a native script engine, for example PHP, Scheme or Python, with a Java virtual machine. It is up to 50 times faster than local RPC via SOAP, requires less resources on the web-server side. It is faster and more reliable than direct communication via the Java Native Interface, and it requires no additional components to invoke Java procedures from PHP or PHP procedures from Java.

WebサービスやPHPアプリケーションの間のこの余分な層は、それ自体が有用であることが分かるだろう余分があるように必要がある必要がありますWebサービスの変更は、Javaコードをそのまま残すだけで済みます。

+0

ありがとうございます。確かめます。 – Nate

-1

PHPには独自のSOAPクライアントがあるのは分かりますよね? http://www.php.net/manual/en/class.soapclient.php

+0

ええ、私はこのSOAPベースのBLAST Webサービスの使い方を知りません:http://www.ncbi.nlm.nih.gov/books/NBK55699/ – Nate