You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-user@ws.apache.org by le...@bt.com on 2007/03/26 19:14:07 UTC

creating resources based on a predefined epr

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.



Re: creating resources based on a predefined epr

Posted by Daniel Jemiolo <da...@us.ibm.com>.
Well, this one has me stumped - the EPRs look identical. Can you open a 
JIRA item for 2.3? It has to be something small since the basic EPR 
matching works.

Dan

<le...@bt.com> wrote on 03/26/2007 01:14:07 PM:

> 
> 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: muse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: muse-user-help@ws.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org