tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Xavier Dury <kal...@hotmail.com>
Subject RE: Some questions about WebService and OpenEJB
Date Wed, 02 Jul 2014 08:13:54 GMT
Hi,

just for my personal education, could you explain why MTOM is enabled only by checking the
@BindingType and not the @MTOM annotation?

Sometimes, I see endpoints annotated with @BindingType(SOAPBinding.SOAPXXHTTP_MTOM_BINDING),
sometimes with @MTOM and sometimes with both.

Is there any reason to use one over the other? (besides that @BindingType seems to contain
more information like the SOAP version).

Thanks,

Xavier

----------------------------------------
> Date: Mon, 30 Jun 2014 13:22:09 +0200
> From: agumbrecht@tomitribe.com
> To: users@tomee.apache.org
> Subject: Re: Some questions about WebService and OpenEJB
>
> Hi Xavier,
>
> Just added your example and test for #TOMEE-1261, many thanks.
>
> And thanks Romain for the quick fix!
>
> Andy.
>
> On 30/06/2014 12:12, Romain Manni-Bucau wrote:
>> https://issues.apache.org/jira/browse/TOMEE-1261
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>> 2014-06-30 9:25 GMT+02:00 Romain Manni-Bucau <rmannibucau@gmail.com>:
>>> sure, just need "open" internet to commit the 3 missing lines ;)
>>>
>>>
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>> 2014-06-30 9:24 GMT+02:00 Xavier Dury <kalgon@hotmail.com>:
>>>> Ok thanks, is it foreseen for the coming 4.7.0 version?
>>>>
>>>> Regards,
>>>>
>>>> Xavier
>>>>
>>>> ----------------------------------------
>>>>> From: rmannibucau@gmail.com
>>>>> Date: Mon, 30 Jun 2014 09:01:23 +0200
>>>>> Subject: Re: Some questions about WebService and OpenEJB
>>>>> To: users@tomee.apache.org
>>>>>
>>>>> that's because for ejb we only support it when it is in
>>>>> webservices.xml. We'll add support for annotations
>>>>>
>>>>>
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>> 2014-06-30 8:16 GMT+02:00 Xavier Dury <kalgon@hotmail.com>:
>>>>>> here it is https://dl.dropboxusercontent.com/u/908875/openejb/mtom.zip
>>>>>>
>>>>>> ----------------------------------------
>>>>>>> From: rmannibucau@gmail.com
>>>>>>> Date: Mon, 30 Jun 2014 07:47:18 +0200
>>>>>>> Subject: Re: Some questions about WebService and OpenEJB
>>>>>>> To: users@tomee.apache.org
>>>>>>>
>>>>>>> yes please
>>>>>>>
>>>>>>>
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>> 2014-06-30 7:44 GMT+02:00 Xavier Dury <kalgon@hotmail.com>:
>>>>>>>> Grrrr, that's the second time I forget I have to put every
classes in @Classes (even those that are already declared in the module).
>>>>>>>>
>>>>>>>> But I can confirm that MTOM is working with pojo endpoints
but not with ejb ones.
>>>>>>>>
>>>>>>>> I can make a simple testcase to demonstrate it.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>>
>>>>>>>> Xavier
>>>>>>>>
>>>>>>>> ----------------------------------------
>>>>>>>>> From: rmannibucau@gmail.com
>>>>>>>>> Date: Fri, 27 Jun 2014 19:51:18 +0200
>>>>>>>>> Subject: Re: Some questions about WebService and OpenEJB
>>>>>>>>> To: users@tomee.apache.org
>>>>>>>>>
>>>>>>>>> add your webservice in value ;)
>>>>>>>>>
>>>>>>>>> BTW
>>>>>>>>> http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples/applicationcomposer-jaxws-cdi/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014-06-27 17:58 GMT+02:00 Xavier Dury <kalgon@hotmail.com>:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Thanks Romain,
>>>>>>>>>>
>>>>>>>>>> I was indeed not deploying the module as a webapp.
Now, that it is done,
>>>>>>>>>> it seems that no services are @Injected in my POJO
endpoint.
>>>>>>>>>>
>>>>>>>>>> I declared my module as such:
>>>>>>>>>>
>>>>>>>>>> @Module
>>>>>>>>>> @Classes(cdi = true, value = MyDependency.class)
>>>>>>>>>> public WebApp module() {
>>>>>>>>>> return new WebApp().addServlet("ws",
>>>>>>>>>> MyPojoWebService.class.getName(), "/ws");
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> MyDependency is not @Injected in MyPojoWebService.
>>>>>>>>>>
>>>>>>>>>> Xavier
>>>>>>>>>>
>>>>>>>>>> ----------------------------------------
>>>>>>>>>>> From: rmannibucau@gmail.com
>>>>>>>>>>> Date: Fri, 27 Jun 2014 17:11:54 +0200
>>>>>>>>>>> Subject: Re: Some questions about WebService
and OpenEJB
>>>>>>>>>>> To: users@tomee.apache.org
>>>>>>>>>>>
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> For pojo usage did you define a servlet in the
WebApp object?
>>>>>>>>>>>
>>>>>>>>>>> MTOM should work. If not please share a sample
reproducing the issue to
>>>>>>>>>> let
>>>>>>>>>>> us investigate it.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2014-06-27 16:30 GMT+02:00 Xavier Dury <kalgon@hotmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I've been developing a WebService and wanted
to test it with
>>>>>>>>>>>> ApplicationComposer.
>>>>>>>>>>>>
>>>>>>>>>>>> First, it seems that only EJB (@Stateless)
endpoints can be injected
>>>>>>>>>> into
>>>>>>>>>>>> my test instance through @WebServiceRef.
Is it correct?
>>>>>>>>>>>>
>>>>>>>>>>>> If I remove @Stateless from my service, then
I get the following error:
>>>>>>>>>>>>
>>>>>>>>>>>> WARNING - Interceptor for {
>>>>>>>>>>>>
>>>>>>>>>> http://my.company.com/}DocumentGenerationService#{http://my.company.com/}generateDocument
>>>>>>>>>>>> has thrown exception, unwinding now
>>>>>>>>>>>> org.apache.cxf.interceptor.Fault: Could not
send Message.
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
>>>>>>>>>>>> at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:570)
>>>>>>>>>>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479)
>>>>>>>>>>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
>>>>>>>>>>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
>>>>>>>>>>>> at com.sun.proxy.$Proxy76.generateDocument(Unknown
Source)
>>>>>>>>>>>> at com.company.my.WebServiceTest.simpleTest(WebServiceTest.java:74)
>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.openejb.junit.DeployApplication$1.call(DeployApplication.java:44)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.openejb.junit.DeployApplication$1.call(DeployApplication.java:40)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.openejb.testing.ApplicationComposers.evaluate(ApplicationComposers.java:794)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.openejb.junit.DeployApplication.evaluate(DeployApplication.java:40)
>>>>>>>>>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>>>>>>>>>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>>>>>>>>>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>>>>>>>>>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>>>>>>>>>>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>>>>>>>>>>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>>>>>>>>>>>> Caused by: java.net.MalformedURLException:
Invalid address. Endpoint
>>>>>>>>>>>> address cannot be null.
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:758)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:742)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:686)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:476)
>>>>>>>>>>>> at
>>>>>>>>>>>>
>>>>>>>>>> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
>>>>>>>>>>>> ... 37 more
>>>>>>>>>>>>
>>>>>>>>>>>> Second, I can't get MTOM working.
>>>>>>>>>>>>
>>>>>>>>>>>> I've added
>>>>>>>>>>>> @MTOM,
>>>>>>>>>> @BindingType(javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING)
>>>>>>>>>>>> on both my SEI and my service bean, I'm using
a
>>>>>>>>>>>> @XmlMimeType("application/octet-stream")
DataHandler in my response type
>>>>>>>>>>>> but no attachment is created. (When I log
my responses at the
>>>>>>>>>> server-level
>>>>>>>>>>>> through a SOAPHandler that calls
>>>>>>>>>> SOAPMessageContext.getMessage().writeTo(),
>>>>>>>>>>>> I see no attachment.)
>>>>>>>>>>>>
>>>>>>>>>>>> I saw in ticket OPENEJB-972 that MTOM support
may not work for EJB
>>>>>>>>>>>> endpoint, is that correct?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>
>>>>>>>>>>>> Xavier
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>
>
> --
> Andy Gumbrecht
>
> http://www.tomitribe.com
> agumbrecht@tomitribe.com
> https://twitter.com/AndyGeeDe
>
> TomEE treibt Tomitribe! | http://tomee.apache.org
>
 		 	   		  
Mime
View raw message