2011-02-11 93 views
0

到reactome.org(注:Biostar这个问题是交叉贴)发送SOAP查询,卷曲

大家好,

我想一个RPC编码的SOAP查询发送到Reactome (一个生物学途径数据库),采用卷曲

我想调用远程方法 queryPathwaysForReferenceIdentifiershttp://www.reactome.org:8080/caBIOWebApp/services/caBIOService?wsdl

012定义

我创建了下面的SOAP/XML文件:soap.xml

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:r="http://www.reactome.org:8080/caBIOWebApp/services/caBIOService" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:reactome="http://www.reactome.org/caBIOWebApp/schema"> 
<SOAP-ENV:Body> 
<r:queryPathwaysForReferenceIdentifiers> 
<r:referenceIdentifiers> 
<soapenc:Array soapenc:arrayType="soapenc:string[3]"> 
<soapenc:string>Q9Y266</soapenc:string> 
<soapenc:string>P17480</soapenc:string> 
<soapenc:string>P2048</soapenc:string> 
</soapenc:Array> 
</r:referenceIdentifiers> 
</r:queryPathwaysForReferenceIdentifiers> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

和我使用下面的命令发送它的卷曲:

curl -d @soap.xml \ 
     -H "Content-Type: application/soap+xml" \ 
     -H 'SOAPAction: ""' \ 
     "http://www.reactome.org:8080/caBIOWebApp/services/caBIOService" 

但响应是空的,而我期望的result

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"> 
    <soapenv:Body> 
    <ns1:queryPathwaysForReferenceIdentifiersResponse xmlns:ns1="http://www.reactome.org:8080/caBIOWebApp/services/caBIOService" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
     <queryPathwaysForReferenceIdentifiersReturn xmlns:ns2="http://www.reactome.org/caBIOWebApp/schema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" soapenc:arrayType="ns2:Pathway[0]" xsi:type="soapenc:Array"/> 
    </ns1:queryPathwaysForReferenceIdentifiersResponse> 
    </soapenv:Body> 
</soapenv:Envelope> 

我的请求中是否有错误?在哪里?

非常感谢!

皮埃尔

回答