Good morning,
this is the first time i write on this forum because i googled and i've seen related post with no solution.
I will expose briefly the problem.
I'm using c# 3.5 and i'm trying using a web service.
Unfortunatly i get a NULL response and i can't understand why.
RpcRsat.RSATWSP ortType rpt = new RpcRsat.RSATWSP ortTypeClient() ;
RpcRsat.retriev e_seqResponse res = rpt.retrieve_se q(req);
res is NULL.
I've seen that this problem is a naming related problem so i think that if i post both the wsdl and server request/answer would be possible to correct the wsdl to have a not null answer.
The wsdl of the service
Thank you in adwance, i hope you can help me because i'm working on this problem from centuries.
this is the first time i write on this forum because i googled and i've seen related post with no solution.
I will expose briefly the problem.
I'm using c# 3.5 and i'm trying using a web service.
Unfortunatly i get a NULL response and i can't understand why.
RpcRsat.RSATWSP ortType rpt = new RpcRsat.RSATWSP ortTypeClient() ;
RpcRsat.retriev e_seqResponse res = rpt.retrieve_se q(req);
res is NULL.
I've seen that this problem is a naming related problem so i think that if i post both the wsdl and server request/answer would be possible to correct the wsdl to have a not null answer.
The wsdl of the service
Code:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="RSATWS.xsl"?> <definitions name="RSATWS" targetNamespace="urn:RSATWS" xmlns:tns="urn:RSATWS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <types> <xsd:schema targetNamespace="urn:RSATWS" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <xsd:complexType name="RetrieveSequenceRequest"> <xsd:annotation> <xsd:documentation> Parameters for the operation retrieve_seq. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="output" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Return type. Accepted values: 'server' (result is stored on a file on the server), 'client' (result is directly transferred to the client), or 'both'. Default is 'both'. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="organism" type="xsd:string" minOccurs="1"> <xsd:annotation> <xsd:documentation> Organism. Words need to be underscore separated (example: Escherichia_coli_K12). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="query" type="xsd:string" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> A list of query genes. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="all" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Return sequences for all the genes of the organism if value = 1. Incompatible with query. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="noorf" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Prevent overlap with upstream open reading frames (ORF) if value = 1. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="from" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Inferior limit of the region to retrieve. Default is organism dependant (example: Saccharomyces cerevisiae = -800). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="to" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Superior limit of the region to retrieve. Default is '-1'. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="feattype" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Type of genome features to load. Supported: CDS, mRNA, tRNA, rRNA. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="type" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Sequence type. Supported: upstream, downstream, ORF (unspliced open reading frame). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="format" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Sequence format. Supported: IG (Intelligenetics), WC (wconsensus), raw, FastA </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="lw" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Line width (0 for whole sequence on one line). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="label" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Field(s) to be used in the sequence label. Multiple fields can be specified, separated by commas. Supported: id, name, organism_name, sequence_type, current_from, current_to, ctg, orf_strand, reg_left, reg_right. Default: name. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="label_sep" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Separator between the label fields. Default: | (pipe character). </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="nocom" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> No comments if value = 1. Only the identifier and the sequence are returned. By default, the comment indicates the ORF and upstream sequence coordinates. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="repeat" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Use the repeat masked version of the genome if value = 1. Attention: repeated regions are annotated for some genomes only. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="imp_pos" type="xsd:int" minOccurs="0"> <xsd:annotation> <xsd:documentation> Admit imprecise positions if value = 1. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RetrieveSequenceResponse"> <xsd:sequence> <xsd:element name="server" type="xsd:string"> <xsd:annotation> <xsd:documentation> Location of the result file on the server. This can be used as input for a further request. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="command" type="xsd:string"> <xsd:annotation> <xsd:documentation> The stand alone command executed on the server. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="client" type="xsd:string"> <xsd:annotation> <xsd:documentation> The results. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema> </types> <message name="RetrieveSequenceInput"> <part name="request" type="tns:RetrieveSequenceRequest"/> </message> <message name="RetrieveSequenceOutput"> <part name="response" type="tns:RetrieveSequenceResponse"/> </message> <portType name="RSATWSPortType"> <operation name="retrieve_seq"> <input name="RetrieveSequenceRequest" message="tns:RetrieveSequenceInput"/> <output name="RetrieveSequenceResponse" message="tns:RetrieveSequenceOutput"/> <documentation>Returns upstream, downstream or coding DNA sequences for list of query genes. </documentation> </operation> </portType> <binding name="RSATWSBinding" type="tns:RSATWSPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="retrieve_seq"> <soap:operation soapAction="urn:RSATWS#retrieve_seq"/> <input name="RetrieveSequenceRequest"> <soap:body use="literal" namespace="urn:RSATWS" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output name="RetrieveSequenceResponse"> <soap:body use="literal" namespace="urn:RSATWS" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="RSATWebServices"> <documentation> Web services for the Regulatory Sequence Analysis Tools (RSAT). Tools developed by Jacques van Helden (jvanheld@scmbb.ulb.ac.be), SOAP/WSDL interface developed by Olivier Sand (oly@scmbb.ulb.ac.be). </documentation> <port name="RSATWSPortType" binding="tns:RSATWSBinding"> <soap:address location="http://rsat.scmbb.ulb.ac.be/rsat/web_services/RSATWS.cgi"/> <!--soap:address location="http://localhost/rsat/web_services/RSATWS.cgi"/--> </port> </service> </definitions>[/I] The request [I] POST /rsat/web_services/RSATWS.cgi HTTP/1.1..Content-Type: text/xml; charset=utf-8..VsDebuggerCausalityData: uIDPozNkTwqKKWxEvLtLCIpZ12sAAAAAwFGQKj7fw0m0XzI12/8zRVZAMVRscIJMobGqcgydosMACQAA..SOAPAction: "urn:RSATWS#retrieve_seq"..Host: rsat.scmbb.ulb.ac.be..Content-Length: 396..Expect: 100-continue..Connection: Keep-Alive.... <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <retrieve_seq xmlns="urn:RSATWS"> <request xmlns=""> <organism>Escherichia_coli_K12</organism> <query>MetA</query><feattype>CDS</feattype><type>upstream</type><format>FastA</format> </request> </retrieve_seq> </s:Body> </s:Envelope> [/I] The answer of the server [I] HTTP/1.1 200 OK..Date: Tue, 05 Aug 2008 08:53:41 GMT..Server: Apache/2.2.8 (Linux/SUSE)..LOG ### /home/rsat/rsa-tools/public_html/logs/log-file_rsat_WS_2008_08Status: 200 OK..SOAPServer: SOAP::Lite/Perl/0.710.07..Content-Length: 1269..Keep-Alive: timeout=30, max=100..Connection: Keep-Alive..Content-Type: text/xml; charset=utf-8.... <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <retrieve_seqResponse xmlns="urn:RSATWS"> <response> <client xsi:type="xsd:string">>metA.MetA; upstream from -400 to -1; size: 400; location: NC_000913.2 4211903 4212302 D.CATCAGGATCGATAAACAGCGCATCCATATGCTGCCCACTTAGCAACATAAATCCAACCG.GCTGATCCCGCTCATTAACCGCGACCCACAACGGCGCTTCCGGCAGGAAGGAACGAACTA.GGTCCTCCAGCTCGGTCCGATACTCTGCTGATAGAAAATCGTGAGTGGCATCGACAGAAC.GACACCAAATCGCAACGAGTTCCTCCCCTTCCTCATGCCGTGAGCGGCGAATACTAATAA.CCATTTTCTCTCCTTTTAGTCATTCTTATATTCTAACGTAGTCTTTTCCTTGAAACTTTC.TCACCTTCAACATGCAGGCTCGACATTGGCAAATTTTCTGGTTATCTTCAGCTATCTGGA.TGTCTAAACGTATAAGCGTATGTAGTGAGGTAATCAGGTT..</client> <server xsi:type="xsd:string">/home/rsat/rsa-tools/public_html/tmp/retrieve-seq.vBF9M7mRXoFastA</server> <command xsi:type="xsd:string">/home/rsat/rsa-tools/perl-scripts/retrieve-seq -org 'Escherichia_coli_K12' -q 'MetA' -feattype 'CDS' -type 'upstream' -format 'FastA'</command> </response> </retrieve_seqResponse> </soap:Body> </soap:Envelope>