Hi there. I'm trying to call our web service using standard code outlined in
the examples both in the JBoss wiki and in the Sun tutorials.
The problem I'm having occurs when I perform a lookup for our registered
service using the JBoss-flavoured initial context:
| javax.naming.InitialContext iniCtx = getInitialContext();
| Object obj = iniCtx.lookup("java:comp/env/service/PolicyFileMgrService");
| javax.xml.rpc.Service service =
(javax.xml.rpc.Service)iniCtx.lookup("java:comp/env/service/PolicyFileMgrService");
| PolicyFileMgrService policyFileMgrService =
(PolicyFileMgrService)service.getPort(PolicyFileMgrService.class);
| policyFileMgr = policyFileMgrService.getPolicyFileMgr();
|
The error is obviously on the second line where I have broken down the sample
provided code to see what object type is returned. It seems I am returned a
'javax.naming.Reference' object, instead of the 'PolicyFileMgrService' I was
expecting when I perform the lookup.
I have been following this thread
('http://www.jboss.com/index.html?module=bb&op=viewtopic&t=54033') and I have
tried changing the classpath, without success.
Some context: I am running my client app from Eclipse on a machine that is
remote from the server JBoss is running on. I have implemented
application-client.xml and jboss-client.xml, jacrpc mapping files and relevant
wdsl file, and deployed these on JBoss next to our application EAR that has the
services I would like to access.
I can see that the services are being bound in the JNDI:
| DEBUG [org.jboss.deployment.MainDeployer] Begin deployment start
file:/C:/policymatter/jboss-4.0.3/server/default/deploy/pccAppClient.jar
| DEBUG [org.jboss.deployment.ClientDeployer] Creating client ENC binding
under: PolicyControlCentre
| DEBUG [org.jboss.webservice.ServiceClientDeployer] Webservice binding:
java:comp/env/service/PolicyFileMgrService
| DEBUG [org.jboss.webservice.ServiceClientDeployer] Webservice binding:
java:comp/env/service/PolicyControlCenterService
| DEBUG [org.jboss.deployment.ClientDeployer] Binding resource:
ref_pmuploadprogress to JDNI as: null
| DEBUG [org.jboss.deployment.ClientDeployer] Binding resource:
ref_pmuploadprogressTCF to JDNI as: null
| DEBUG [org.jboss.deployment.ClientDeployer] Binding resource: ref_pmupload
to JDNI as: null
| DEBUG [org.jboss.deployment.ClientDeployer] Binding resource:
ref_pmuploadQCF to JDNI as: null
| INFO [org.jboss.deployment.ClientDeployer] Client ENC bound under:
PolicyControlCentre
| DEBUG [org.jboss.deployment.MainDeployer] End deployment start on package:
pccAppClient.jar
| DEBUG [org.jboss.deployment.MainDeployer] Deployed package:
file:/C:/policymatter/jboss-4.0.3/server/default/deploy/pccAppClient.jar
|
This is my application-client.xml file:
| <?xml version="1.0" encoding="UTF-8"?>
| <application-client xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd" version="1.4">
| <display-name>PolicyControlCentre</display-name>
| <service-ref>
|
<service-ref-name>service/PolicyControlCenterService</service-ref-name>
| <service-interface>javax.xml.rpc.Service</service-interface>
| <wsdl-file>META-INF/wsdl/PolicyControlCenter_jboss.wsdl</wsdl-file>
|
<jaxrpc-mapping-file>META-INF/PolicyControlCenter_mapping_jboss.xml</jaxrpc-mapping-file>
| <service-qname
xmlns:pfx="http://service.repository.policymatter.com">pfx:PolicyControlCenterService</service-qname>
| <port-component-ref>
|
<service-endpoint-interface>com.policymatter.repository.service.PolicyControlCenter</service-endpoint-interface>
| </port-component-ref>
| </service-ref>
| <service-ref>
| <service-ref-name>service/PolicyFileMgrService</service-ref-name>
| <service-interface>javax.xml.rpc.Service</service-interface>
| <wsdl-file>META-INF/wsdl/PolicyFileMgr_jboss.wsdl</wsdl-file>
|
<jaxrpc-mapping-file>META-INF/PolicyFileMgr_mapping_jboss.xml</jaxrpc-mapping-file>
| <service-qname
xmlns:pfx="http://service.policymatter.com">pfx:PolicyFileMgrService</service-qname>
| <port-component-ref>
|
<service-endpoint-interface>com.policymatter.service.PolicyFileMgr</service-endpoint-interface>
| </port-component-ref>
| </service-ref>
| <resource-ref id="ResourceRef_1125059009605">
| <description>
| </description>
| <res-ref-name>ref_pmuploadQCF</res-ref-name>
| <res-type>javax.jms.QueueConnectionFactory</res-type>
| <res-auth>Container</res-auth>
| <res-sharing-scope>Shareable</res-sharing-scope>
| </resource-ref>
| <resource-ref id="ResourceRef_1125059426415">
| <description>
| </description>
| <res-ref-name>ref_pmupload</res-ref-name>
| <res-type>javax.jms.Queue</res-type>
| <res-auth>Container</res-auth>
| <res-sharing-scope>Shareable</res-sharing-scope>
| </resource-ref>
| <resource-ref id="ResourceRef_1125059626576">
| <description>
| </description>
| <res-ref-name>ref_pmuploadprogressTCF</res-ref-name>
| <res-type>javax.jms.TopicConnectionFactory</res-type>
| <res-auth>Container</res-auth>
| <res-sharing-scope>Shareable</res-sharing-scope>
| </resource-ref>
| <resource-ref id="ResourceRef_1125059626585">
| <description>
| </description>
| <res-ref-name>ref_pmuploadprogress</res-ref-name>
| <res-type>javax.jms.Topic</res-type>
| <res-auth>Container</res-auth>
| <res-sharing-scope>Shareable</res-sharing-scope>
| </resource-ref>
| </application-client>
|
I assume this is correct, because the wsdl I include in the deployed JAR is
being picked up at
'http://mymachinename/PolicyServerEJB/PolicyFileMgrPort?wsdl'.
Looking in the JMX console at the JNDI, I can see the J2EE client service is
deployed:
| +- PolicyControlCentre (class: org.jnp.interfaces.NamingContext)
| | +- service (class: org.jnp.interfaces.NamingContext)
| | | +- PolicyControlCenterService (class:
org.jboss.webservice.client.ServiceReferenceable)
| | | +- PolicyFileMgrService (class:
org.jboss.webservice.client.ServiceReferenceable)
| | +- ref_pmupload[link -> null] (class: javax.naming.LinkRef)
| | +- ref_pmuploadprogressTCF[link -> null] (class: javax.naming.LinkRef)
| | +- ref_pmuploadprogress[link -> null] (class: javax.naming.LinkRef)
| | +- ref_pmuploadQCF[link -> null] (class: javax.naming.LinkRef)
|
On the classpath, I have only added 'jbossall-client.jar' in addition to the
libraries I had been using before. These libraries are:
| xml-apis.jar
| xercesImpl.jar
| wsdl4j-1.5.1.jar
| ui.jar
| Tidy.jar
| servlet.jar
| saaj.jar
| log4j-1.2.8.jar
| jmdns.jar
| jdom.jar
| jazzy-swing.jar
| jazzy-core.jar
| jaxrpc.jar
| jaxen-1.1-beta-4.jar
| jakarta-slide-webdavlib-2.1.jar
| jakarta-slide-commandline-2.1.jar
| jakarta-regexp-1.3.jar
| jacob.jar
| itext-1.3.jar
| fop.jar
| filedrop.jar
| editlivejava.jar
| commons-transaction-1.0.jar
| commons-logging-1.0.4.jar
| commons-lang-2.0.jar
| commons-httpclient-contrib.jar
| commons-httpclient.jar
| commons-discovery-0.2.jar
| castor-0.9.5.3.jar
| batik.jar
| axis-ant.jar
| axis.jar
| avalon-framework-cvs-20020806.jar
| antlr.jar
| AbsoluteLayout.jar
| jbossall-client.jar
|
Previously, we were simply calling the web services via generated proxy
objects, but we are looking to move our Java Swing application into a proper
J2EE application client and look up dynamic proxies via JNDI.
Any help on this problem would be much appreciated! I'm frantically trying to
keep the JBoss flame alive in our organisation, where everyone else seems to
want to jump-ship to commercial app servers. Please help me show them that a
complex J2EE app client is feasible!
Thanks.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3900920#3900920
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3900920
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user