[JBoss Web Services Users] - Consuming Web Services when WSDL access / UDDI discovery is
by vimalm
One of the Vendors that we have, expose some .net web services end points but now prohibit access to WSDL via the ?WSDL mechanism as part of a their new security policy. Suddenly the code that used to work to consume their web services no longer works with this new security policy implementation. I have generated the web services stubs using wsconsume and using those stubs to make the calls. One of the thing that Service class does (From JBOSSWS which gets invoked by the generated Stubs) is to open an InputStream to WSDL URL which is now blocked and I get a FileNotFoundException and my process terminates and not able to invoke the business method on the endPoint.
Is there a way around this problem or access to the WSDL URL is absolutely required where the web services are hosted?
We have been using Jboss 4.2.1GA and the jbossws implementation that came with it. I am hoping that suggestion does not involve upgrading the JBOSS server to 5.X as we are not prepared to do that right now!
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262547#4262547
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262547
15 years, 1 month
[JBoss Web Services Users] - Ears sharing jars
by neillott
Hi,
I have one jboss instance running jboss 5.1 with webservices Version: jbossws-native-3.2.0.GA.
In this instance I deploy 6 ears all of which have an interface that specifies something like this
@WebService
@SOAPBinding (
style = SOAPBinding.Style.DOCUMENT,
use = SOAPBinding.Use.LITERAL,
parameterStyle = SOAPBinding.ParameterStyle.WRAPPED
)
public interface OnDemand
{
public void method1();
...
}
I then implement this interface.
When I deploy the ear, the ear contains the following:
[neil@flicker main ondemand]$ jar -tvf generated/server/ear/ondemand-5.2.3.ear
0 Tue Oct 27 10:15:40 MDT 2009 META-INF/
256 Tue Oct 27 10:15:38 MDT 2009 META-INF/MANIFEST.MF
0 Tue Oct 27 10:15:40 MDT 2009 lib/
358273 Tue Oct 27 10:15:40 MDT 2009 lib/antlr-2.7.2.jar
73425 Tue Oct 27 10:15:38 MDT 2009 lib/avalon-framework-4.1.5.jar
321201 Tue Oct 27 10:15:40 MDT 2009 lib/backport-util-concurrent-60-3.1.jar
595558 Tue Oct 27 10:15:38 MDT 2009 lib/catalogsif-5.2.3.jar
121757 Tue Oct 27 10:15:40 MDT 2009 lib/commons-dbcp-1.2.2.jar
96067 Tue Oct 27 10:15:38 MDT 2009 lib/commons-pool-1.5.1.jar
727837 Tue Oct 27 10:15:40 MDT 2009 lib/coreif-5.2.3.jar
632663 Tue Oct 27 10:15:38 MDT 2009 lib/dbif-5.2.3.jar
1059115 Tue Oct 27 10:15:40 MDT 2009 lib/isa-1.4.4.jar
88778 Tue Oct 27 10:15:40 MDT 2009 lib/isautilsif-5.2.3.jar
5750674 Tue Oct 27 10:15:38 MDT 2009 lib/jacorb-2.3.2.jar
802216 Tue Oct 27 10:15:38 MDT 2009 lib/jakarta-poi-2.5.1.jar
89967 Tue Oct 27 10:15:38 MDT 2009 lib/jboss-jaxb-api-5.1.0.GA.jar
50570 Tue Oct 27 10:15:40 MDT 2009 lib/jbossws-jaxws-5.1.0.GA.jar
534827 Tue Oct 27 10:15:40 MDT 2009 lib/joda-time-1.6.jar
391834 Tue Oct 27 10:15:40 MDT 2009 lib/log4j-1.2.15.jar
86165 Tue Oct 27 10:15:40 MDT 2009 lib/logkit-1.2.jar
123874 Tue Oct 27 10:15:40 MDT 2009 lib/menumanagerif-5.2.3.jar
451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.3.jar
1556269 Tue Oct 27 10:15:40 MDT 2009 lib/oracle-driver-10.2.0.4.jar
23445 Tue Oct 27 10:15:38 MDT 2009 lib/slf4j-1.5.8.jar
9679 Tue Oct 27 10:15:40 MDT 2009 lib/slf4j-log4j12-1.5.8.jar
8047 Tue Oct 27 10:15:38 MDT 2009 lib/ws-coreif-5.2.3.jar
26180 Tue Oct 27 10:15:40 MDT 2009 lib/wsif-5.2.3.jar
9336 Tue Oct 27 10:15:38 MDT 2009 ondemand-ejb-5.2.3.jar
When I deploy only this ear for example, JBoss immediately figures out that I have a webservice and does everything right. I'm able to access my webservice with no problem.
If I deploy multiple ears and say they share a jar like this:
451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.3.jar
But then let's say one ear has
451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.3.jar
And the other ear has
451525 Tue Oct 27 10:15:40 MDT 2009 lib/ondemandif-5.2.4.jar
Whichever ear gets deployed and used first will have its classes loaded from its ondemandif jar.
So I tried adding a jboss-app.xml to my META-INF directory in my ear that looks like this:
<jboss-app>
<loader-repository>
com.mystrotv:loader=ondemandif-5.2.3.jar
<loader-repository-config>java2ParentDelegaton=false</loader-repository-config>
</loader-repository>
</jboss-app>
But then I get this error and my webservice won't load
DEPLOYMENTS IN ERROR:
Deployment "vfszip:/usr/local/mystro/jboss/server/mas-ws/deploy/ondemand-5.2.3.ear/" is in error due to the following reason(s): java.lang.RuntimeException: Bean Class com.twc.atgw.server.ws.ondemand.OnDemandImpl has no local, webservice, or remote interfaces defined and does not implement at least one business interface: OnDemandImpl
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:993)
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:939)
at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:369)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
However, my webservice loads fine if I don't include this xml file. My intention was to isolate the jars inside the ear so they are not shared across the webservice container. My understanding was that this would accomplish that:
<loader-repository-config>java2ParentDelegaton=false</loader-repository-config>
Do I need to somehow specify my webservice annotated class in the jboss-app.xml as well? Anyone has any hints that might help?
Thanks,
Neil
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262464#4262464
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262464
15 years, 1 month
[JBoss Web Services Users] - WebServiceContext injected field corrupted under heavy load
by Sintetik7
Hi,
I have a webservice implemented as follows:
| public class SSSServiceProvider implements Provider<Source> {
|
| @Resource(type = Object.class)
| protected WebServiceContext wsContext;
|
| public Source invoke(Source req) {
| MessageContext mc = wsContext.getMessageContext();
| String path = ((String) mc.get(MessageContext.PATH_INFO));
| ....
|
I'm using wsContext for the sole purpose to access a path, since my wsdl is just doc/literal (not wrapped).
This code worked ok at JBoss 5.0.1 (and jbossws 3.1.0), at least i didn't notice any problems with extracted "path".
Recently, we moved to JBoss 5.1.0 (jbossws 3.1.2) and problems started to appear. Under some load (~20 000 requests / day) service started to mess up injected wsContext. Some 10-100 requests per day got wrong "path", looks like it comes from the adjacent request (<~1ms incoming time).
What i did then is I upgraded jbossws to 3.2.0, released recently.
At first i didn't notice any errors. After a few days I decided to move other service (heavy loaded) to JBoss 5.1 + JBossws 3.2.0 as well.
"Heavy-loaded" service consumes some ~1 000 000 requests / day and the same error happens now 100-300 times a day.
Btw, later I found that 1st service (under ~20 000) generates the same errors as well, but at a much less rate - ~5/week.
Both services are implemented virtually identically.
Is it possible that next request corrupts injected wsContext object before I finish reading it??? It looks like this because as far as I see from logs it gets corrupted only if two messages are _really close_ (<~1ms).
The question is - how do I get path reliably?
PS. In last changelogs I see some bugfixes with resources injection, so I guess I've encountered some kind of new behaviour.
PPS. I've reported the problem before (testing the same services) that
might be related somehow
https://jira.jboss.org/jira/browse/JBWS-2662
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262181#4262181
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262181
15 years, 2 months
[JBoss Web Services Users] - Generating JBossWS SOAP/JMS document literal using wsconsume
by quartelh
Hi,
using wsconsume to generate the service works fine for SOAP/HTTP document/literal wsdls.
However, I run into the problem that when I change the binding to use JMS the Service and interface classes are not generated.
When I change from document to RPC style it works.
I include the binding and service snippet of the WSDL.
<wsdl:binding name="AuditLogServiceBinding" type="logs:AuditLogServicePortType">
| <soap:binding style="document" transport="http://www.example.org/2006/06/soap/bindings/JMS/"/>
| <wsdl:operation name="GetResponseMessage">
| <soap:operation soapAction="GetResponseMessage" style="document"/>
| <wsdl:input>
| <soap:body parts="GetResponseMessageRequest" use="literal"/>
| </wsdl:input>
| <wsdl:output>
| <soap:body parts="GetResponseMessageResponse" use="literal"/>
| </wsdl:output>
| </wsdl:operation>
| <wsdl:operation name="LogMessage">
| <soap:operation soapAction="LogMessage" style="document"/>
| <wsdl:input>
| <soap:body parts="LogMessageRequest" use="literal"/>
| </wsdl:input>
| </wsdl:operation>
| </wsdl:binding>
| <wsdl:service name="AuditLogService">
| <wsdl:port name="AuditLogService" binding="logs:AuditLogServiceBinding">
| <soap:address location="jms://queue/AuditLogService?replyToName=queue/AuditLogServiceResponse"/>
| </wsdl:port>
| </wsdl:service>
Is there anything I specified wrong that causes the problem? What should the transport definition be for JBossWS?
Any help is greatly appreciated!
Thanks in advance,
Herbert
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262149#4262149
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262149
15 years, 2 months