Thank you all. To reproduce this problem may be helpful to our discussion.
Fortunatly, It is very easy to do.
Please don't panic the steps, in fact, the steps is easy.
In muse 2.2.0 binary release samples\j2ee, got two copies of the wsn-producer,
name these as wsn_produer_a and wsn_produer_b:
In wsn_produer_a, do following simple change:
1. in config\muse.xml, change the http://ws.apache.org/muse/test/wsrf to
http://ws.apache.org/muse/testa/wsrf, and change its prefix from
"test" to "testa"
2. in wsdl\WsResource.wsdl, change the http://ws.apache.org/muse/test/wsrf
to http://ws.apache.org/muse/testa/wsrf, and change its prefix from
"tns" to "tns_a"
3. in wsdl\WsResource.rmd, change http://ws.apache.org/muse/test/wsrf to
http://ws.apache.org/muse/testa/wsrf
4. change the MyCapability.java accordingly.
In wsn_produer_a, also do following simple change:
1. in config\muse.xml, change the http://ws.apache.org/muse/test/wsrf to
http://ws.apache.org/muse/testb/wsrf, and change its prefix from
"test" to "testb"
2. in wsdl\WsResource.wsdl, change the http://ws.apache.org/muse/test/wsrf
to http://ws.apache.org/muse/testb/wsrf, and change its prefix from
"tns" to "tns_b"
3. in wsdl\WsResource.rmd, change http://ws.apache.org/muse/test/wsrf to
http://ws.apache.org/muse/testb/wsrf
4. change the MyCapability.java accordingly.
In wsn_consumer, got two copies of the WsnTestClient.java and name these as
WsnTestClientA.java and WsnTestClientB.java.
In WsnTestClientA.java, change "/wsn-producer/services" to
"/wsn_producer_a/services";
In WsnTestClientB.java, change "/wsn-producer/services" to
"/wsn_producer_b/services";
Then you can build and deploy war in ,say, tomcat:
1. run "ant" in samples\j2ee\wsn_producer_a,samples\j2ee\wsn_producer_b, and
samples\j2ee\wsn_consumer to build the war.
2. deploy the generated wsn_producer_a.war and wsn_producer_b.war and
wsn_consumer.war to JEERI (my envir.) or other container (say, tomcat, I also
use it).
4. please make sure the http port is 8080 in Server/container.
samples\j2ee\wsn_consumer\"ant run
-Dmain=org.apache.muse.test.wsn.WsnTestClientA" to subsscribe wsn_producer_a
samples\j2ee\wsn_consumer\"ant run
-Dmain=org.apache.muse.test.wsn.WsnTestClientB" to subsscribe wsn_producer_b
then you will say the "destination unreachable" fault like this:
<soap:Text>[ID = 'DestinationUnreachable'] There is no resource available at
the given EPR:
<wsa:EndpointReference
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://<localhost>:8080/wsn_producer_a/services/WsResouce</wsa:Address>
</wsa:EndpointReference>
The existing EPRs hosted by this endpoint are:
<wsa:EndpointReference
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:ReferenceParameters
xmlns:wsa="http://www.w3.org/2005/08/addressing"/>
<wsa:Address>http://<localhost>:8080/wsn_producer_b/services/WsResource</wsa:Address>
</wsa:EndpointReference>
</soap:Text>
Justin ZHANG (ZHANG Jinzhai, 张晋寨)
CMEP (Communication, Media, Entertainment, and Public sector) HP Global
Delivery China Center (GDCC)
Tel: +86 21 3889 7219
Email: [EMAIL PROTECTED]
-----Original Message-----
From: Bogdan Solomon [mailto:[EMAIL PROTECTED]
Sent: 2007年7月25日 4:15
To: [email protected]
Subject: RE: One endpoint but two wsn producer EPRs
Most of my apps are deployed as wars inside ears (but I have one war inside an
ear), and the issue is not with the naming of it. Application servers will
deploy the wars separated in that each war has it's own web.xml that defines
it's context root, which is the part that gets bound to the url.
Generally if the web.xml has no context root defined it uses the name of the
war, and not that of the ear.
Also the endpoint that is being found as existing is the one with
wsn-producer_b in it; so that part of the deployment is ok.
I am unsure as to how he routes to them though; since he does not use Axis.
All of my Muse apps have been Axis based.
Vinh Nguyen (vinguye2) wrote:
>
> I think the problem is because the WAR files are inside an EAR. So
> when you deploy the EAR, the name of the main application is the EAR
> name, not the WAR app's name.
>
> Your producer is trying to reference this address:
> http://localhost:8080/wsn-producer_a/services/NotificationProducerA
>
> But it can't find it because the EAR is in the way. So the address
> should probably look like:
> http://localhost:8080/EARApp/...
>
> But, I'm not sure how you're supposed to reference the Muse app when
> it's contained in an EAR? The EAR must route the requests to the
> contained WARs.
>
>
--
View this message in context:
http://www.nabble.com/One-endpoint-but-two-wsn-producer-EPRs-tf4134220.html#a11770994
Sent from the Muse User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Justin ZHANG (ZHANG Jinzhai, 张晋寨)
CMEP (Communication, Media, Entertainment, and Public sector)
HP Global Delivery China Center (GDCC)
Tel: +86 21 3889 7219
Email: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]