Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 2.2.1
  • Fix Version/s: Bug Backlog
  • Component/s: Transport: Axis
  • Labels:
    None
  • Environment:

    JDK 1.6

  • User impact:
    High
  • Similar Issues:
    None

Description

I try to use axis transport to make a web service proxy, so I define the service as below:

<service name="TestService">
  <inbound>
    <axis:inbound-endpoint address="http://localhost:8888/services">
      <axis:soap-service interface="foo.service.intf.TestServiceInterface"/>
   </axis:inbound-endpoint>
  </inbound>
  <outbound>
    <pass-through-router>
      <axis:outbound-endpoint address="http://localhost:8080/services/RemoteService"/>
    </pass-through-router>
  </outbound>
</service>

But it failed.
I found that there are several errors in the axis transport module:
1) Although AxisServiceComponent.doPost() try to get the properties from current endpoint, but the soap-service configuration had not been copied from original AXIS inbound endpoint to real receiver endpoint:

AxisConnector.registerReceiverWithMuleService()
..
// set the Security filter on the axis endpoint on the real receiver
// endpoint
serviceEndpointbuilder.setSecurityFilter(receiver.getEndpoint().getSecurityFilter());

// Skyer modify
// set the properties of the axis endpoint on the real receiver endpoint
serviceEndpointbuilder.setProperties(receiver.getEndpoint().getProperties());
...

2) AxisServiceComponent.processWsdlRequest() does not try to get the soap-service properties from endpoint.

AxisServiceComponent.processWsdlRequest()
...
// Skyer modify
AxisServiceProxy.setProperties(RequestContext.getEvent().getEndpoint().getProperties());
engine.generateWSDL(msgContext);
...

3) When invoking outbound endpoint, AxisMessageDispatcher tried to cast the Method parameter to SoapMethod, which will failed.

AxisMessageDispatcher.refineMethod()
...
// Skyer modify
else if (method instanceof Method)
{
  call.setOperationName(new QName(((Method)method).getName()));
}
...

Activity

There are no comments yet on this issue.

People

  • Assignee:
    Unassigned
    Reporter:
    Skyer Tu
Vote (0)
Watch (1)

Dates

  • Created:
    Updated: