It seems like JAX-WS is dynamically weaving dependencies into your bundle that were not present at build time. Because these dependencies are dynamic, the build tooling doesn't find them and doesn't generate an Import-Package
statement for them.
Specifically your bundle has a dependency on the package com.sun.xml.internal.ws.api.message
. You never wanted or asked for that dependency, but JAX-WS added it for you anyway. How nice of it!
Your question suggests that you are using Maven with the maven-bundle-plugin to build your bundle. Therefore you need to add something like this to your pom:
<Import-Package>
com.sun.xml.internal.ws.api.message,
*
</Import-Package>
Note that there may be other packages that need to be added to this list... you will probably find out about them after adding this one. Again, because these are dynamically weaved-in dependencies it's impossible to get a full list of them in advance.
With regard to your final question. You're right, it's certainly not impossible to run a web service client in this environment! However OSGi does tend to expose the invalid assumptions and bad coding practices that are typically found in crappy libraries like JAX-WS.