[Grimoires-users] problem(potential bug) with getOperationByMessagePartReference()
Brought to you by:
stevecrouch
|
From: Yu P. <yp...@bi...> - 2007-05-05 23:24:36
|
Hi,
I encounters a problem while using Grimoires1.0.4. I published a set of
WSDL files, then try to query the operation by given the message part
references. As long as the operation names are difference for each
operation in each WSDL file, there is no problem. However, if you have two
operations (in different WSDL files, however) that have the same name,
then the wsdl.findOperationByMessagePart() get confused and could return any of
them. For example, I have the following two wsdl files (only fragments are
shown):
<wsdl:definitions name="ClustalwService"
targetNamespace="http://www.cs.nmsu.edu/bsis/services/clustalw4"
...>
...
<wsdl:message name="ClustalwRequest">
<wsdl:part name="sequences" element="types:sequences"/>
<wsdl:part name="proteinMatrix" element="types:proteinMatrix"/>
<wsdl:part name="dnaMatrix" element="types:dnaMatrix"/>
</wsdl:message>
<wsdl:message name="ClustalwResponse">
<wsdl:part name="alignedSequences"
element="types:alignedSequences"/>
<wsdl:part name="outTree" element="types:outTree"/>
</wsdl:message>
<wsdl:portType name="ClustalwPortType">
<wsdl:operation name="run">
<wsdl:input name="ClustalwRequest"
message="tns:ClustalwRequest"/>
<wsdl:output name="ClustalwResponse"
message="tns:ClustalwResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ClustalwSoapBinding" type="tns:ClustalwPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="run">
<soap:operation soapAction=""/>
<wsdl:input name="ClustalwRequest">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="ClustalwResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
...
</wsdl:definitions>
<wsdl:definitions name="ReadSeq"
targetNamespace="http://www.cs.nmsu.edu/bsis/services/readseq"
...>
...
<wsdl:message name="ReadSeqRequest">
<wsdl:part name="sequences" element="types:sequences"/>
<wsdl:part name="format" element="types:format"/>
</wsdl:message>
<wsdl:message name="ReadSeqResponse">
<wsdl:part name="outSequences" element="types:outSequences"/>
</wsdl:message>
<wsdl:portType name="ReadSeqPortType">
<wsdl:operation name="run">
<wsdl:input name="ReadSeqRequest"
message="tns:ReadSeqRequest"/>
<wsdl:output name="ReadSeqResponse"
message="tns:ReadSeqResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ReadSeqSoapBinding" type="tns:ReadSeqPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="run">
<soap:operation soapAction=""/>
<wsdl:input name="ReadSeqRequest">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="ReadSeqResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>
When I try to query the operation using the message part reference:
http://www.cs.nmsu.edu/bsis/services/readseq : ReadSeqRequest : sequences
It supposes to return me the operation detail as:
http://www.cs.nmsu.edu/bsis/services/readseq : ReadSeqPortType : run
However, it gives me the following one:
http://www.cs.nmsu.edu/bsis/services/clustalw4 : ClustalwPortType : run
I was first doubting that it is the 1.0.4 version problem then I download
the 1.2.3 version but the problem still exists. I finally find out the
reason is because they share the same operation name "run". I tried
published the service with different operation names, then it is ok. I
do not know any of you have encountered the same problem before. But to
me, it looks like a potential bug in the function since it is
unavoidably people may use the same names for different operations.
Further information needed, let me know.
Thanks a lot.
Yu
-----------------------------------------------------------------------
Department of Computer Science | Email: yp...@cs...
New Mexico State University | Phone: (505)646-6224
Las Cruces, NM 88001 | Homepage: http://www.cs.nmsu.edu/~ypan
-----------------------------------------------------------------------
|