Hi all, I'm testing the WSRP Muse interface against the WSRP specs. Well, it seems that it's working but I have a question concerning UnknownResourceFault. I can get that exception instead of a generic soap fault simply using WsResourceRouter instead of SimpleResourceRouter. Well, when a request is made for a resource that doesn't exists, the mentioned fault is returned (in the detail section) : a message is written
There is no resource available at the given EPR: (unknwown endpoint reference details) The problem (from my point of view) is the next section in the reported fault. The response contains all existing EPRs! What is the problem? If I'm an intruder and I want to know all the EPRs on a given node, then I simply need to send a request that contains an unknown resource (and we know that is an easy thing!) That's exactly what I've done for my test. I have a service group and service members. First I get the service group address, then I get a service member. After that, the service member points to a valid WS-Resource. Before using that, I replace the resource id with an inexistent one : _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME); _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal"); _resourceClient.setTrace(true); _resourceClient.getResourcePropertyDocument(); <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing"> http://www.w3.org/2005/08/addressing/role/anonymous</wsa:To> <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing"> http://www.w3.org/2005/08/addressing/fault</wsa:Action> <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing ">uuid:4542494f-e879-55a2-be4f-bc57d02cd467</wsa:MessageID> <wsa:RelatesTo RelationshipType="wsa:Reply" xmlns:wsa=" http://www.w3.org/2005/08/addressing ">uuid:05972d36-183b-74ea-396c-8728012fc051</wsa:RelatesTo> <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address>http://localhost:2737/qman/services/QManWsResource </wsa:Address> <wsa:ReferenceParameters> <qman-wsa:ResourceId wsa:IsReferenceParameter="true" xmlns:qman-wsa=" http://amqp.apache.org/qpid/management/qman/addressing" xmlns:wsa=" http://www.w3.org/2005/08/addressing">lablabalbal</qman-wsa:ResourceId> </wsa:ReferenceParameters> </wsa:From> </soap:Header> <soap:Body> <soap:Fault> <soap:Code> <soap:Value>soap:Receiver</soap:Value> </soap:Code> <soap:Reason> <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:2737/qman/services/QManWsResource</wsa:Address> <wsa:ReferenceParameters> <qman-wsa:ResourceId xmlns:qman-wsa=" http://amqp.apache.org/qpid/management/qman/addressing" wsa:IsReferenceParameter="true" xmlns:wsa=" http://www.w3.org/2005/08/addressing ">lablabalbal</qman-wsa:ResourceId> </wsa:ReferenceParameters> </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:2737/app/services/adapter</wsa:Address> </wsa:EndpointReference> ... ... </soap:Text> </soap:Reason> <soap:Detail> <wsrf-rw:ResourceUnknownFault xmlns:wsrf-rw=" http://docs.oasis-open.org/wsrf/rw-2"> <wsrf-bf:Timestamp xmlns:wsrf-bf=" http://docs.oasis-open.org/wsrf/bf-2 ">2009-02-26T06:22:13+01:00</wsrf-bf:Timestamp> </wsrf-rw:ResourceUnknownFault> </soap:Detail> </soap:Fault> </soap:Body> </soap:Envelope> Is that correct? Regards, Andrea
