Hi guys

Brief overview:
1) Create a factoryResource
2) Use the factory to create a new WsResource based on a predefined EPR
3) Destroy the WsResource based on the predefined EPR


As the muse wsdl2java generates functions requiring wsa:EndpointRerefence with 
Elements instead, I've added the necessary XmlSerializer extension for this and 
updated the business logic to utilize the wsa:EndpointReference instead of the 
Elements (I was wondering if this could be setup to be done automatically with 
the description file?).

Also without exchanging the Element for EndpointReference (using the auto 
generated code) I had a duplicate namespace issue, a pxf1 referencing the 
addressing uri and that caused initial problems; this bit was worked out by 
using the XmlSerializer Extension, though it didn't remove that actual 
EndpointReference mismatch problem. (wsdl attached)


The EPR contains a complex wsa:ReferenceParameter:

<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing";>
        
<wsa:Address>http://localhost:1234/WsBasic/services/WsBasic</wsa:Address>
        <wsa:ReferenceParameters>
                <emic:FederationUUID 
xmlns:emic="http://www.microsoft.com/emic/SAFe/";>
                        07b7031c-b5c3-04f2-04ae-8254c3045bae
                </emic:FederationUUID>
                <emicfpi:FederationPartnerIdentifier 
xmlns:emicfpi="http://www.microsoft.com/emic/SAFe/#FederationPartners";>
                        <uddi:businessKey 
xmlns:uddi="urn:uddi-org:api_v2">00000000-0000-0000-0000-000000000002</uddi:businessKey>
                </emicfpi:FederationPartnerIdentifier>
        </wsa:ReferenceParameters>
</wsa:EndpointReference>


And is utilized in the factory via the following code:

public EndpointReference createFromEprOperation(EndpointReference 
EndpointReference) throws Exception {
                ResourceManager manager = getResource().getResourceManager();
                Resource next = manager.createResource(contextPath);
                next.setEndpointReference(EndpointReference);
                next.initialize();
                manager.addResource(next.getEndpointReference(), next);
                EndpointReference epr = next.getEndpointReference();
                return epr;
        }

Yet I seem to be unable to access the previously deployed WsResource with the 
returned EPR (from the factory) to destroy it.

SOAP Trace:
org.apache.muse.ws.addressing.soap.SoapFault: [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:1234/WsBasic/services/WsBasic</wsa:Address>
    <wsa:ReferenceParameters>
        <emic:FederationUUID
            xmlns:emic="http://www.microsoft.com/emic/SAFe/";
            wsa:IsReferenceParameter="true" 
xmlns:wsa="http://www.w3.org/2005/08/addressing";>
                        07b7031c-b5c3-04f2-04ae-8254c3045bae
                </emic:FederationUUID>
        <emicfpi:FederationPartnerIdentifier
            
xmlns:emicfpi="http://www.microsoft.com/emic/SAFe/#FederationPartners";
            wsa:IsReferenceParameter="true" 
xmlns:wsa="http://www.w3.org/2005/08/addressing";>
            <uddi:businessKey 
xmlns:uddi="urn:uddi-org:api_v2">00000000-0000-0000-0000-000000000002</uddi:businessKey>
        </emicfpi:FederationPartnerIdentifier>
    </wsa:ReferenceParameters>
</wsa:EndpointReference>

The existing EPRs hosted by this endpoint are: 

<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing";>
    <wsa:Address>http://localhost:1234/WsBasic/services/WsBasic</wsa:Address>
    <wsa:ReferenceParameters>
        <emic:FederationUUID xmlns:emic="http://www.microsoft.com/emic/SAFe/";>
                        07b7031c-b5c3-04f2-04ae-8254c3045bae
                </emic:FederationUUID>
        <emicfpi:FederationPartnerIdentifier 
xmlns:emicfpi="http://www.microsoft.com/emic/SAFe/#FederationPartners";>
            <uddi:businessKey 
xmlns:uddi="urn:uddi-org:api_v2">00000000-0000-0000-0000-000000000002</uddi:businessKey>
        </emicfpi:FederationPartnerIdentifier>
    </wsa:ReferenceParameters>
</wsa:EndpointReference>

Lenni Madsen

Security Research Centre 
BT Group Chief Technology Office
___________________
Office:   +44 (0) 1473 621560
Mobile:  +44 (0) 7726 347835
Fax:      +44 (0) 1473 646886
 
British Telecommunications plc
Registered office: 81 Newgate Street London EC1A 7AJ
Registered in England no. 1800000 
This electronic message contains information from British Telecommunications 
plc which may be privileged or confidential. The information is intended to be 
for the use of the individual(s) or entity named above. If you are not the 
intended recipient be aware that any disclosure, copying, distribution or use 
of the contents of this information is prohibited. If you have received this 
electronic message in error, please notify us by telephone or email (to the 
numbers or address above) immediately.
Activity and use of the British Telecommunications plc email system is 
monitored to secure its effective operation and for other lawful business 
purposes. Communications using this system will also be monitored and may be 
recorded to secure effective operation and for other lawful business purposes.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to