質問

I'm working a project and that project contains a web service client to submit the unser input to a SAP system.

Before integrating the client into my bundle I created a java stand alone application to test the client out, which worked fine.

I then build it into my bundle, compiled and uploaded it to my Adobe CQ instance. At first it wouldn't start because of missing javax imports, which I was able to fix through this SO question.

My bundle is starting now. What doesn't work however, is the web client. When I access the servlet which should communicate with the web server, I get the following error:

A WebService annotation is not present on class ch.company.cq.webservice.DTOPENTIMES

When checking the class in question I can see that there is a web service annotation present (it was also working as a standalone JAVA application).

I've tried building my web service using this guide from Adobe, and it works. Only problem is the fact that this is not a Maven project, so I can't use the jar to build my project with Maven.

I googled a bit and found an article saying that there's a problem with the annotations (see Problem 3 on this article). I downloaded the jsr181-api and converted into a OSGi bundle. I successfully installed it, but my bundle still complains that the annotation is not present.

Can anybody help me on how to create a working web service client in CQ using Maven?

Thanks alot!

役に立ちましたか?

解決

Ok, I was able to solve it. The solution was in the comments of the paged I linked to (the one with Problem 3).

You have to bundle javax.jws as seperate package. Additionally you need to set sling.bootdelegation.com.sun=com.sun.* in the sling.properties. To complete the task you also need to exclude the javax imports using:

<Import-Package>
!javax.jws,!javax.jws.soap,*
</Import-Package>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top