You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Ben Reif (JIRA)" <ji...@apache.org> on 2009/11/19 17:13:39 UTC
[jira] Updated: (AXIS2-4551)
AxisOperationFactory.getAxisOperation(int mepURI) returns the wrong
AxisOperation instance for http://www.w3.org/ns/wsdl/robust-in-only MEPs
[ https://issues.apache.org/jira/browse/AXIS2-4551?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ben Reif updated AXIS2-4551:
----------------------------
Description:
AxisOperationFactory.getAxisOperation(int mepURI) returns the wrong AxisOperation instance for the ROBUST_IN_ONLY MEP. The code returns an InOutAxisOperation from this:
case WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY : {
abOpdesc = new InOutAxisOperation();
abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
break;
}
There should be a coresponding RobustInOnlyAxisOperation that it returns like this:
case WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY : {
abOpdesc = new RobustInOnlyAxisOperation();
abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
break;
}
This causes issues because it adds an out AxisMessage to the operation and also generates an <output> in the WSDL operations. This in-turn causes other code to think that it's a Request-Response style service and you get exceptions when no response comes back, like "The input stream for an incoming message is null".
On the same note, AxisOperationFactory.getAxisOperationDescription(String mepURI) also needs to be fixed for Robust-Out-Only and Robust-In-Only MEPs
else if (WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mepURI) ||
WSDL20_2006Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mepURI) ||
WSDL20_2004_Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mepURI)) {
abOpdesc = new RobustOutOnlyAxisOperation();
abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY);
} else if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI) ||
WSDL20_2006Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI) ||
WSDL20_2004_Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI)) {
abOpdesc = new RobustInOnlyAxisOperation();
abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
}
was:
AxisOperationFactory.getAxisOperation(int mepURI) returns the wrong AxisOperation instance for the ROBUST_IN_ONLY MEP. The code returns an InOutAxisOperation from this:
case WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY : {
abOpdesc = new InOutAxisOperation();
abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
break;
}
There should be a coresponding RobustInOnlyAxisOperation that it returns like this:
case WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY : {
abOpdesc = new RobustInOnlyAxisOperation();
abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
break;
}
This causes issues because it adds an out AxisMessage to the operation and also generates an <output> in the WSDL operations. This in-turn causes other code to think that it's a Request-Response style service and you get exceptions when no response comes back, like "The input stream for an incoming message is null".
> AxisOperationFactory.getAxisOperation(int mepURI) returns the wrong AxisOperation instance for http://www.w3.org/ns/wsdl/robust-in-only MEPs
> --------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AXIS2-4551
> URL: https://issues.apache.org/jira/browse/AXIS2-4551
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: codegen, deployment, wsdl
> Affects Versions: 1.4
> Reporter: Ben Reif
>
> AxisOperationFactory.getAxisOperation(int mepURI) returns the wrong AxisOperation instance for the ROBUST_IN_ONLY MEP. The code returns an InOutAxisOperation from this:
> case WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY : {
> abOpdesc = new InOutAxisOperation();
> abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
> break;
> }
> There should be a coresponding RobustInOnlyAxisOperation that it returns like this:
> case WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY : {
> abOpdesc = new RobustInOnlyAxisOperation();
> abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
> break;
> }
> This causes issues because it adds an out AxisMessage to the operation and also generates an <output> in the WSDL operations. This in-turn causes other code to think that it's a Request-Response style service and you get exceptions when no response comes back, like "The input stream for an incoming message is null".
> On the same note, AxisOperationFactory.getAxisOperationDescription(String mepURI) also needs to be fixed for Robust-Out-Only and Robust-In-Only MEPs
> else if (WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mepURI) ||
> WSDL20_2006Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mepURI) ||
> WSDL20_2004_Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mepURI)) {
> abOpdesc = new RobustOutOnlyAxisOperation();
> abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY);
> } else if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI) ||
> WSDL20_2006Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI) ||
> WSDL20_2004_Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI)) {
> abOpdesc = new RobustInOnlyAxisOperation();
> abOpdesc.setMessageExchangePattern(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.