From: <no...@so...> - 2002-09-09 12:07:06
|
Bugs item #594137, was opened at 2002-08-12 19:13 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=594137&group_id=22866 Category: JBossSOAP Group: v3.0 Rabbit Hole Status: Open Resolution: Remind Priority: 5 Submitted By: Marius Kotsbak (mkotsbak) >Assigned to: Dan Christopherson (danch) Summary: SOAPAction not set Initial Comment: The auto-generated wsdl-file is missing soapAction, whch should be th e same as "<wsdl:operation name". This is neccesary for M$ Soap toolkit to work, and maybe other SOAP implementations like for perl. <wsdl:operation name="insertPerson"> HERE -> V ***HERE->*** <wsdlsoap:operation soapAction=""/> <wsdl:input> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="xxx"/> </wsdl:input> <wsdl:output> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="xxx"/> </wsdl:output> </wsdl:operation> ---------------------------------------------------------------------- Comment By: Dr. Christoph Georg Jung (cgjung) Date: 2002-09-09 12:25 Message: Logged In: YES user_id=175199 I looked again at the Axis Emitter code and there is the following line in writeBindingOperation: // If the soapAction option is OPERATION, force // soapAction to the name of the operation. If NONE, // force soapAction to "". // Otherwise use the information in the operationDesc. String soapAction = ""; if (getSoapAction().equals("OPERATION")) { soapAction = oper.getName(); } else if (getSoapAction().equals("NONE")) { soapAction = ""; } else { soapAction = desc.getSoapAction(); if (soapAction == null) { soapAction = ""; } } I guess it should not be up to the provider meta-data (the adapter code that ties Axis to various target services, such as EJB, MBean and the like) but up to the invocation chain (i.e., whether there is an HTTPActionHandler) to set the emitter to mode "Operation" or whatelse. I find the Axis meta- data interface sometimes very obscure anyway. You could report it to Axis, but since SOAP1.2 SOAPAction is no more mandatory as I understand. I´m not sure whether this will give you any satisfactory answer. What about the following: You will get the possibility to subclass jboss.net.axis.server.EJBProvider in order to set the emitter to mode "operation"? ---------------------------------------------------------------------- Comment By: Marius Kotsbak (mkotsbak) Date: 2002-09-09 09:45 Message: Logged In: YES user_id=366650 >Which provider do you refer to? Provider? I use MS soap toolkit on the client side. >If this is a bug, then it would be an Axis bug, because we >fully rely on, e.g., the EJBProvider and the embedded wsdl- >Emitter. OK. I wasn't sure, so I posted it here first. Could you post this on the axis bug list? >IMHO, they do not use setSoapAction(Operation) simply >because in the usual transport chain, the soap action is not >necessarily evaluated (most of the time you use a urlmapper >and encode the target service via a url-suffix). >Furthermore, I have no problems with the .NET wsdl.exe even >when soapAction is not defined (which is reasonable, >because it is not needed in this case). The problem is that MS toolkit (at least in 2.0, haven't tried 3.0 yet) relies on only soapAction, and fails when it's empty, maybe because it uses soap, and net .net or webservice. And if the field is supposed to be empty, couldn't it just have been removed? >What do you want me to do about this issue. Include an >(IMHO wrong) default into complete jboss.net that behaves >different from Axis? If this field is missing in the newest jboss (newest cvs with the newest axis integrated), can you post a bug report like this on the axis list? --Marius ---------------------------------------------------------------------- Comment By: Dr. Christoph Georg Jung (cgjung) Date: 2002-09-09 09:36 Message: Logged In: YES user_id=175199 Which provider do you refer to? If this is a bug, then it would be an Axis bug, because we fully rely on, e.g., the EJBProvider and the embedded wsdl- Emitter. IMHO, they do not use setSoapAction(Operation) simply because in the usual transport chain, the soap action is not necessarily evaluated (most of the time you use a urlmapper and encode the target service via a url-suffix). Furthermore, I have no problems with the .NET wsdl.exe even when soapAction is not defined (which is reasonable, because it is not needed in this case). What do you want me to do about this issue. Include an (IMHO wrong) default into complete jboss.net that behaves different from Axis? CGJ ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=594137&group_id=22866 |