[
https://issues.apache.org/activemq/browse/SM-1225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ron Gavlin reopened SM-1225:
----------------------------
It appears to me that the following change to CxfBcMessageObserver.onMessage is
also required to implement this feature in CXF BC Provider. Without this patch,
a NPE is generated if the operation is omitted from the incoming
messageExchange.
CxfBcMessageObserver
...
public void onMessage(Message message) {
try {
if (messageExchange.getStatus() != ExchangeStatus.ACTIVE) {
return;
}
contentType = (String) message.get(Message.CONTENT_TYPE);
SoapMessage soapMessage = new SoapMessage(message);
// create XmlStreamReader
EndpointInfo ei = providerEndpoint.getEndpointInfo();
QName opeName = messageExchange.getOperation();
BindingOperationInfo boi = null;
if (opeName == null) {
// if interface only have one operation, may not specify the
opeName in MessageExchange
boi = ei.getBinding().getOperations().iterator().next();
} else {
boi = ei.getBinding().getOperation(opeName);
}
if (boi.getOperationInfo().isOneWay()) {
return;
}
contentType = (String) message.get(Message.CONTENT_TYPE);
SoapMessage soapMessage =
(SoapMessage)
this.providerEndpoint.getCxfEndpoint().getBinding().createMessage(message);
...
Also, this feature should be implemented in servicemix-cxf-se as well.
> cxf bc provider should support exchange without specifing the operationName
> if portType only have one operation
> ---------------------------------------------------------------------------------------------------------------
>
> Key: SM-1225
> URL: https://issues.apache.org/activemq/browse/SM-1225
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-cxf-bc
> Reporter: Freeman Fang
> Assignee: Freeman Fang
> Fix For: 3.2.2, 3.3
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.