Callback over WS Binding is not functioning various issues
----------------------------------------------------------

                 Key: TUSCANY-1341
                 URL: https://issues.apache.org/jira/browse/TUSCANY-1341
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Misc Binding Extensions
    Affects Versions: Java-SCA-0.90
            Reporter: Lou Amodeo


The callback function using WS bindings doesnt appear to be operation.  So far 
I have :

1) WebServiceBindingProcessor.java 

-  The resolve() method does not setup the callbackInterface on its 
InterfaceContract resulting in NPE.

    (i.e. interfaceContract.setCallbackInterface(wsdlCallbackInterface); )


[6/11/07 13:33:02:220 EDT] 00000025 SystemOut     O     ... 87 more
[6/11/07 13:33:02:220 EDT] 00000025 SystemOut     O Caused by: 
java.lang.NullPointerException
        at 
org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl.map(InterfaceContractMapperImpl.java:246)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.createWires(CompositeActivatorImpl.java:337)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.createRuntimeWires(CompositeActivatorImpl.java:269)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:580)
        at 
org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain$DomainCompositeHelper.addComposite(EmbeddedSCADomain.java:124)
        at 
com.ibm.ws.sca2.tuscany.util.TuscanyInterfaceImpl.startModule(TuscanyInterfaceImpl.java:223)
        at 
com.ibm.ws.soa.sca.admin.runtime.tuscany.SCATuscanyRuntimeHandlerImpl.startModule(SCATuscanyRuntimeHandlerImpl.java:82)
        at 
com.ibm.ws.soa.sca.admin.runtime.impl.SCARuntimeImpl.start(SCARuntimeImpl.java:366)
        at 
com.ibm.ws.soa.sca.admin.runtime.impl.SCARuntimeImpl.stateChanged(SCARuntimeImpl.java:286)
        at 
com.ibm.ws.runtime.component.ApplicationMgrImpl.stateChanged(ApplicationMgrImpl.java:1264)
        at 
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectEvent(DeployedApplicationImpl.java:1112)
        at 
com.ibm.ws.runtime.component.DeployedModuleImpl.setState(DeployedModuleImpl.java:206)
        at 
com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:566)
        at 
com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:814)
        at 
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:965)
        at 
com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1495)
        at 
com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:3924)
        at 
com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4001)
        at 
com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:245)
        at 
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1500)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:615)
        at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:62)
        at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:615)
        at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:265)
        at 
javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1089)
        at 
javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:971)
        at 
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)
        at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
        at 
com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1080)
        at 
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
        at 
com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:973)
        at 
com.ibm.ws.management.commands.AdminServiceCommands$InvokeCmd.execute(AdminServiceCommands.java:251)
        at 
com.ibm.ws.console.core.mbean.MBeanHelper.invoke(MBeanHelper.java:239)
        at 
com.ibm.ws.console.appdeployment.ApplicationDeploymentCollectionAction.execute(ApplicationDeploymentCollectionAction.java:536)
        at 
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
        at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:995)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:761)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:673)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498)
        at 
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
        at 
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308)
        at 
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1070)
        at 
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:273)
        at 
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
        at 
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:319)
        at 
com.ibm.isclite.container.controller.InformationController.processForwardConfig(InformationController.java:159)
        at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:995)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
        at 
com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistence(WSCUrlFilter.java:792)
        at 
com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:363)
        at 
com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:229)
        at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
                           



If you set the callbackInterface above and proceeed you hit the following: 


2) Axis2ReferenceBindingProvider.java

- I dont think this requires a wire as this provider already knows abouts its 
InterfaceContract.   
  wire is null resulting in a NPE 

 private Operation findCallbackOperation(RuntimeWire wire) {
        /*
        InterfaceContract contract = wire.getTarget().getInterfaceContract(); 
// TODO:
                                                                                
// which
                                                                                
// end?     LAA Hack  */   
        
        InterfaceContract contract = this.getBindingInterfaceContract();  // 
LAA hack 
        List callbackOperations = 
contract.getCallbackInterface().getOperations();
        if (callbackOperations.size() != 1) {
            throw new RuntimeException("Can only handle one callback 
operation");
        }
        Operation callbackOperation = (Operation)callbackOperations.get(0);
        return callbackOperation;
    }



If you obtain contract directly using getBindingInterfaceContract() you proceed 
and get the following: 

3) DataBindingRuntimeProcessor

Caused by: java.lang.NullPointerException
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:51)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:72)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:99)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.process(DataBindingRuntimeWireProcessor.java:116)
        at 
org.apache.tuscany.sca.core.invocation.ExtensibleWireProcessor.process(ExtensibleWireProcessor.java:40)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.createWires(CompositeActivatorImpl.java:348)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.createRuntimeWires(CompositeActivatorImpl.java:269)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:580)
        ... 14 more

[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O      at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:582)
[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O      at 
org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain$DomainCompositeHelper.addComposite(EmbeddedSCADomain.java:124)
[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O      at 
com.ibm.ws.sca2.tuscany.util.TuscanyInterfaceImpl.startModule(TuscanyInterfaceImpl.java:223)
[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O      at 
com.ibm.ws.soa.sca.admin.runtime.tuscany.SCATuscanyRuntimeHandlerImpl.startModule(SCATuscanyRuntimeHandlerImpl.java:82)
[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O      at 
com.ibm.ws.soa.sca.admin.runtime.impl.SCARuntimeImpl.start(SCARuntimeImpl.java:366)
[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O      ... 10 more
[6/13/07 9:54:51:646 EDT] 00000018 SystemOut     O Caused by: 
java.lang.NullPointerException
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:51)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:72)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:99)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.process(DataBindingRuntimeWireProcessor.java:116)
        at 
org.apache.tuscany.sca.core.invocation.ExtensibleWireProcessor.process(ExtensibleWireProcessor.java:40)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.createWires(CompositeActivatorImpl.java:348)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.createRuntimeWires(CompositeActivatorImpl.java:269)
        at 
org.apache.tuscany.sca.core.runtime.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:580)
        at 
org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain$DomainCompositeHelper.addComposite(EmbeddedSCADomain.java:124)
  


4) I see this comment in Axis2CallbackInvocationHandler which is not being 
executed anyway:  

  public Axis2CallbackInvocationHandler(MessageFactory messageFactory, 
RuntimeWire wire) {
        super(messageFactory, false);
        this.wire = wire;
    }

    public Object invoke(Operation operation, Object[] args, LinkedList<URI> 
callbackRoutingChain) throws Throwable {
//        Object targetAddress = callbackRoutingChain.removeFirst();
//        if (targetAddress == null) {
//            throw new AssertionError("Popped a null from address from stack");
//        }

//        //TODO optimize as this is slow in local invocations
//        Map<Operation, InvocationChain> sourceCallbackInvocationChains =
//            wire.getCallbackInvocationChains();
//        InvocationChain chain = sourceCallbackInvocationChains.get(operation);
//        chain.g
//        TargetInvoker invoker = chain.getTargetInvoker();
//        return invoke(chain, invoker, args, null, callbackRoutingChain, null);
        throw new UnsupportedOperationException("not yet implemented");
    }




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to