Author: scamp
Date: Mon Apr 25 14:04:48 2005
New Revision: 164645
URL: http://svn.apache.org/viewcvs?rev=164645&view=rev
Log:
Jira Muse-6 added support for QueryRelationshipsByType
Modified:
incubator/muse/trunk/ (props changed)
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
Propchange: incubator/muse/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Apr 25 14:04:48 2005
@@ -4,3 +4,4 @@
build.properties
junit*.properties
*.iml
+classes
Modified:
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
(original)
+++
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
Mon Apr 25 14:04:48 2005
@@ -17,10 +17,23 @@
import org.apache.ws.muws.v1_0.capability.RelationshipsCapability;
import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.Resource;
import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.resource.properties.ResourcePropertySet;
+import org.apache.ws.resource.properties.ResourceProperty;
import
org.apache.ws.resource.properties.impl.AbstractResourcePropertiesPortType;
+import org.apache.ws.util.XmlBeanUtils;
+import org.apache.xmlbeans.XmlObject;
import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument;
import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeResponseDocument;
+import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipDocument;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType;
+
+import javax.xml.rpc.JAXRPCException;
+import javax.xml.namespace.QName;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
/**
* TODO
@@ -46,7 +59,42 @@
{
QueryRelationshipsByTypeResponseDocument responseDoc =
createQueryRelationshipsByTypeResponseDocument();
QueryRelationshipsByTypeResponseDocument.QueryRelationshipsByTypeResponse
response = responseDoc.getQueryRelationshipsByTypeResponse();
- // TODO: implement
+
+
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument.QueryRelationshipsByType
queryRelationshipsByType = requestDoc.getQueryRelationshipsByType();
+ javax.xml.namespace.QName requestedType =
queryRelationshipsByType.getRequestedType();
+
+ ResourcePropertySet properties = getProperties();
+ ResourceProperty resourceProperty =
properties.get(RelationshipsCapability.PROP_NAME_RELATIONSHIP);
+
+ if(resourceProperty == null)
+ {
+ throw new JAXRPCException("Unable to query relationship since the
Resource does not expose a " + RelationshipsCapability.PROP_NAME_RELATIONSHIP +
" resource property.");
+ }
+
+ List matchingRelationships = new ArrayList();
+
+ Iterator iterator = resourceProperty.iterator();
+ while (iterator.hasNext())
+ {
+
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType
relationship =
(org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType)
iterator.next();
+
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipTypeType type
= relationship.getType();
+ XmlObject[] childElements = XmlBeanUtils.getChildElements(type);
+
+ for (int i = 0; i < childElements.length; i++)
+ {
+ XmlObject childElement = childElements[i];
+ QName typeName = XmlBeanUtils.getName(childElement);
+
+ if (typeName.equals(requestedType))
+ {
+ matchingRelationships.add(relationship);
+ }
+ }
+ }
+
+ //add matching relationships to the response
+
response.setRelationshipArray((RelationshipType[])matchingRelationships.toArray(new
RelationshipType[0]));
+
return responseDoc;
}
Modified:
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
(original)
+++
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
Mon Apr 25 14:04:48 2005
@@ -2,7 +2,7 @@
import org.apache.ws.muws.WsdmNamespaceVersionHolder;
import org.apache.ws.muws.v1_0.MuwsConstants;
-import org.apache.ws.notification.base.v1_2.impl.WsnNamespaceVersionHolderImpl;
+import
org.apache.ws.notification.base.v2004_6.impl.WsnNamespaceVersionHolderImpl;
import org.apache.ws.mows.v1_0.MowsConstants;
Modified:
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
(original)
+++
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
Mon Apr 25 14:04:48 2005
@@ -1,10 +1,13 @@
package org.everestWeather.wsdm.samples.x2005.x04.schema;
+import org.apache.ws.muws.v1_0.capability.impl.RelationshipsCapabilityImpl;
import org.apache.ws.resource.ResourceContext;
-import org.apache.ws.resource.handler.SoapMethodNameMap;
-import org.apache.ws.resource.handler.WsrfService;
import org.apache.ws.resource.handler.ServiceSoapMethodNameMap;
+import org.apache.ws.resource.handler.SoapMethodNameMap;
+import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument;
+import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeResponseDocument;
+
import javax.xml.namespace.QName;
/**
@@ -14,7 +17,7 @@
* NOTE: This class is generated and is NOT meant to be modified.
*/
public abstract class AbstractWeatherstationService
- implements org.apache.ws.resource.handler.WsrfService,
org.apache.ws.resource.properties.v2004_06.porttype.GetMultipleResourcePropertiesPortType,
org.apache.ws.resource.properties.v2004_06.porttype.GetResourcePropertyPortType,
org.apache.ws.notification.base.v1_2.porttype.NotificationProducerPortType {
+ implements org.apache.ws.resource.handler.WsrfService,
org.apache.ws.resource.properties.v2004_06.porttype.GetMultipleResourcePropertiesPortType,
org.apache.ws.resource.properties.v2004_06.porttype.GetResourcePropertyPortType,
org.apache.ws.notification.base.v2004_6.porttype.NotificationProducerPortType {
public static final String TARGET_NSURI =
"http://everest-weather.org/wsdm/samples/2005/04/schema";
public static final String TARGET_NSPREFIX = "schema";
@@ -115,7 +118,7 @@
*/
public
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.SubscribeResponseDocument
subscribe(
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.SubscribeDocument
requestDoc )
{
- return new
org.apache.ws.notification.base.v1_2.porttype.impl.NotificationProducerPortTypeImpl(
getResourceContext( ) ).subscribe( requestDoc );
+ return new
org.apache.ws.notification.base.v2004_6.porttype.impl.NotificationProducerPortTypeImpl(
getResourceContext( ) ).subscribe( requestDoc );
}
/**
@@ -127,9 +130,12 @@
*/
public
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.GetCurrentMessageResponseDocument
getCurrentMessage(
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.GetCurrentMessageDocument
requestDoc )
{
- return new
org.apache.ws.notification.base.v1_2.porttype.impl.NotificationProducerPortTypeImpl(
getResourceContext( ) ).getCurrentMessage( requestDoc );
+ return new
org.apache.ws.notification.base.v2004_6.porttype.impl.NotificationProducerPortTypeImpl(
getResourceContext( ) ).getCurrentMessage( requestDoc );
}
-
+ public QueryRelationshipsByTypeResponseDocument queryRelationshipsByType(
QueryRelationshipsByTypeDocument requestDoc )
+ {
+ return new
RelationshipsCapabilityImpl(getResourceContext()).queryRelationshipsByType(requestDoc);
+ }
}
Modified:
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
(original)
+++
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
Mon Apr 25 14:04:48 2005
@@ -19,6 +19,7 @@
import org.apache.ws.util.XmlBeanUtils;
import org.apache.xmlbeans.GDurationBuilder;
import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlException;
import
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.CurrentOperationalStateDocument;
import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.DurationMetric;
import
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.EndpointDescriptionsDocument;
@@ -41,6 +42,7 @@
import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipParticipantType;
import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType;
import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.StateTransitionType;
+import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipTypeType;
import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmPbm.MatchDocument;
import org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI;
import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
@@ -62,7 +64,8 @@
/**
* A NamespaceVerionHolder which maintains the QNames of Spec Wsdls
*/
- public static final
org.apache.ws.notification.base.v1_2.impl.WsnNamespaceVersionHolderImpl
SPEC_NAMESPACE_SET = new
org.apache.ws.notification.base.v1_2.impl.WsnNamespaceVersionHolderImpl();
+ public static final
org.apache.ws.notification.base.v2004_6.impl.WsnNamespaceVersionHolderImpl
SPEC_NAMESPACE_SET = new
org.apache.ws.notification.base.v2004_6.impl.WsnNamespaceVersionHolderImpl();
+ public static final QName RELATIONSHIP_RELATION = new
QName(WeatherstationPropertyQNames.FCCID.getNamespaceURI(),"containment", "R");
/**
* Initializes this resource's state (properties, etc.).
@@ -218,8 +221,19 @@
RelationshipDocument relationshipDocument =
RelationshipDocument.Factory.newInstance();
//add new type
- RelationshipType relationshipType =
relationshipDocument.addNewRelationship();
- //relationshipType.setName( "" );//set name of relationship type
OPTIONAL
+ RelationshipType relationshipType = null;
+ try
+ {
+ relationshipType = relationshipDocument.addNewRelationship();
+ RelationshipTypeType relationshipTypeType =
relationshipType.addNewType();
+ XmlObject relationType =
XmlObject.Factory.parse("<"+RELATIONSHIP_RELATION.getPrefix()+":"+RELATIONSHIP_RELATION.getLocalPart()+"
xmlns:"+RELATIONSHIP_RELATION.getPrefix()+"=" + "\"" +
RELATIONSHIP_RELATION.getNamespaceURI() + "\" />");
+ XmlBeanUtils.addChildElement(relationshipTypeType, relationType);
+ }
+ catch (XmlException e)
+ {
+ e.printStackTrace();
+ }
+
//relationshipType.setAccessEndpointReference();//need EPR optional
QName qName = QName.valueOf( "{" +
WeatherstationPropertyQNames.FCCID.getNamespaceURI() + "}ResourceID" );
@@ -245,7 +259,7 @@
XmlBeanUtils.setValue( key2, InteropConstants.WEATHERSTATION_KEY2 );
//add a relationshiptype
- relationshipType.addNewType();
+ //relationshipType.addNewType();
resourceProperty.add( relationshipDocument );
Modified:
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
(original)
+++
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
Mon Apr 25 14:04:48 2005
@@ -19,7 +19,7 @@
import org.apache.ws.muws.v1_0.capability.IdentityCapability;
import
org.apache.ws.muws.v1_0.capability.ManageabilityCharacteristicsCapability;
import org.apache.ws.muws.v1_0.capability.OperationalStatusCapability;
-import org.apache.ws.notification.base.v1_2.BaseNotification1_2Constants;
+import org.apache.ws.notification.base.v2004_6.BaseNotificationConstants;
import org.apache.ws.util.XmlBeanUtils;
import org.apache.ws.util.jndi.XmlBeanJndiUtils;
import org.apache.ws.util.test.PortListen;
@@ -154,7 +154,7 @@
{
//get notify
XmlObject bodyElems[] = XmlBeanUtils.getChildElements( body,
- new QName( BaseNotification1_2Constants.NSURI_WSNT_SCHEMA,
"Notify" ) );
+ new QName( BaseNotificationConstants.NSURI_WSNT_SCHEMA,
"Notify" ) );
assertEquals( "The SOAP Body does not contain exactly one
wsnt:Notify element.", 1, bodyElems.length );
XmlObject notifyDoc = bodyElems[0];
assertTrue( "The SOAP Body does not contain a wrapped notification
with a Notify element.",
Modified:
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
(original)
+++
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
Mon Apr 25 14:04:48 2005
@@ -17,7 +17,7 @@
import org.apache.ws.addressing.EndpointReference;
import org.apache.ws.addressing.XmlBeansEndpointReference;
-import org.apache.ws.notification.topics.v1_2.Topics1_2Constants;
+import org.apache.ws.notification.topics.v2004_06.Topics1_2Constants;
import org.apache.ws.util.XmlBeanUtils;
import org.apache.ws.util.soap.SoapClient;
import org.apache.ws.XmlObjectWrapper;
Modified:
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
(original)
+++
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
Mon Apr 25 14:04:48 2005
@@ -17,17 +17,28 @@
import org.apache.ws.util.XmlBeanUtils;
import org.apache.ws.util.soap.SoapClient;
+import org.apache.ws.resource.impl.SimpleTypeResourceKey;
+import org.apache.ws.resource.example.InteropConstants;
import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlException;
import org.everest.GetCurrentTemperatureDocument;
import org.everest.GetCurrentTemperatureResponseDocument;
import
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.GetManageabilityReferencesDocument;
import
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.GetManageabilityReferencesResponseDocument;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType;
+import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument;
+import
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeResponseDocument;
import org.xmlsoap.schemas.soap.envelope.Envelope;
import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
+import org.xmlsoap.schemas.soap.envelope.Header;
import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
+import
org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationPropertyQNames;
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
import java.net.URI;
import java.net.URL;
+import java.net.MalformedURLException;
/**
* TODO
@@ -46,7 +57,7 @@
{
GetManageabilityReferencesDocument requestDoc =
GetManageabilityReferencesDocument.Factory.newInstance();
requestDoc.addNewGetManageabilityReferences();
- XmlObject response = sendRequest( requestDoc,
"http://xyz.com/action/GetManageabilityReferences" );
+ XmlObject response = sendRequest( requestDoc,
"http://xyz.com/action/GetManageabilityReferences", m_url);
if ( ! ( response instanceof
GetManageabilityReferencesResponseDocument.GetManageabilityReferencesResponse )
)
{
throw new FaultException( response.toString() );
@@ -59,7 +70,7 @@
GetCurrentTemperatureDocument requestDoc =
GetCurrentTemperatureDocument.Factory.newInstance();
GetCurrentTemperatureDocument.GetCurrentTemperature
getCurrentTemperature = requestDoc.addNewGetCurrentTemperature();
getCurrentTemperature.setAltitude( 643.0 );
- XmlObject response = sendRequest( requestDoc,
"http://xyz.com/action/GetCurrentTemperature" );
+ XmlObject response = sendRequest( requestDoc,
"http://xyz.com/action/GetCurrentTemperature", m_url);
if ( ! ( response instanceof
GetCurrentTemperatureResponseDocument.GetCurrentTemperatureResponse ) )
{
throw new FaultException( response.toString() );
@@ -67,6 +78,31 @@
return
((GetCurrentTemperatureResponseDocument.GetCurrentTemperatureResponse)response).getGetCurrentTemperatureResult();
}
+ public RelationshipType[] queryRelationshipsByType( QName type ) throws
FaultException, MalformedURLException, XmlException
+ {
+ QueryRelationshipsByTypeDocument requestDoc =
QueryRelationshipsByTypeDocument.Factory.newInstance();
+ QueryRelationshipsByTypeDocument.QueryRelationshipsByType
queryRelationshipsByType = requestDoc.addNewQueryRelationshipsByType();
+ queryRelationshipsByType.setRequestedType(type);
+ URL url = new URL(m_url,"weatherstation");
+
+ EnvelopeDocument requestEnvelopeDoc = createEnvelope();
+ Envelope requestEnvelope = requestEnvelopeDoc.getEnvelope();
+ XmlBeanUtils.addChildElement( requestEnvelope.getBody(), requestDoc );
+
+ QName qName = new
QName(WeatherstationPropertyQNames.FCCID.getNamespaceURI(),"ResourceID");
+
+
+ addAddressingHeader(requestEnvelope.getHeader(),
"http://xyz.com/action/QueryRelationship",
url.toString(),qName,InteropConstants.WEATHERSTATION_KEY1);
+
+ XmlObject response = sendRequest( requestEnvelopeDoc,
"http://xyz.com/action/QueryRelationship", url);
+ if ( ! ( response instanceof
QueryRelationshipsByTypeResponseDocument.QueryRelationshipsByTypeResponse ) )
+ {
+ throw new FaultException( response.toString() );
+ }
+ return
((QueryRelationshipsByTypeResponseDocument.QueryRelationshipsByTypeResponse)response).getRelationshipArray();
+ }
+
+
private EnvelopeDocument createEnvelope()
{
EnvelopeDocument envelopeDoc = EnvelopeDocument.Factory.newInstance();
@@ -76,7 +112,7 @@
return envelopeDoc;
}
- private XmlObject sendRequest( XmlObject requestDoc, String action )
+ private XmlObject sendRequest(XmlObject requestDoc, String action, URL url)
{
EnvelopeDocument requestEnvelopeDoc = createEnvelope();
Envelope requestEnvelope = requestEnvelopeDoc.getEnvelope();
@@ -85,7 +121,7 @@
{
URI actionURI = new URI( action );
if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println(
"Sending request: \n" + requestEnvelopeDoc ); }
- String response = SoapClient.sendRequest( m_url,
requestEnvelopeDoc.newInputStream(), actionURI );
+ String response = SoapClient.sendRequest( url,
requestEnvelopeDoc.newInputStream(), actionURI );
EnvelopeDocument responseEnvelopeDoc = (EnvelopeDocument)
XmlObject.Factory.parse( response );
if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println(
"Received response: \n" + responseEnvelopeDoc ); }
Envelope responseEnvelope = responseEnvelopeDoc.getEnvelope();
@@ -104,5 +140,51 @@
throw new RuntimeException( e );
}
}
+ private XmlObject sendRequest(EnvelopeDocument requestEnvelope, String
action, URL url)
+ {
+ try
+ {
+ URI actionURI = new URI( action );
+ if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println(
"Sending request: \n" + requestEnvelope ); }
+ String response = SoapClient.sendRequest( url,
requestEnvelope.newInputStream(), actionURI );
+ EnvelopeDocument responseEnvelopeDoc = (EnvelopeDocument)
XmlObject.Factory.parse( response );
+ if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println(
"Received response: \n" + responseEnvelopeDoc ); }
+ Envelope responseEnvelope = responseEnvelopeDoc.getEnvelope();
+ XmlObject[] responseBodyElems = XmlBeanUtils.getChildElements(
responseEnvelope.getBody() );
+ if ( responseBodyElems.length == 0 )
+ {
+ return null;
+ }
+ else
+ {
+ return responseBodyElems[0];
+ }
+ }
+ catch ( Exception e )
+ {
+ throw new RuntimeException( e );
+ }
+ }
+
+ private void addAddressingHeader(Header header, String action, String
address, QName keyHeaderName, String weatherstationKey1)
+ {
+ XmlObject toElem;
+ XmlObject actionElem;
+ org.xmlsoap.schemas.ws.x2004.x08.addressing.ToDocument toDoc =
org.xmlsoap.schemas.ws.x2004.x08.addressing.ToDocument.Factory.newInstance();
+ org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI
attributedURI = toDoc.addNewTo();
+ attributedURI.setStringValue(address);
+ toElem = toDoc;
+ org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument actionDoc =
org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument.Factory.newInstance();
+ org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI actionType =
actionDoc.addNewAction();
+ actionType.setStringValue(action);
+ actionElem = actionDoc;
+
+ XmlBeanUtils.addChildElement(header, toElem);
+ XmlBeanUtils.addChildElement(header, actionElem);
+
+
+ XmlObject resourceKeyHeader = XmlBeanUtils.addChildElement(header,
keyHeaderName);
+ XmlBeanUtils.setValue(resourceKeyHeader, weatherstationKey1);
+ }
}
Modified:
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
---
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
(original)
+++
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
Mon Apr 25 14:04:48 2005
@@ -35,6 +35,7 @@
import org.apache.xmlbeans.XmlString;
import org.apache.xmlbeans.XmlOptions;
import
org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationPropertyQNames;
+import org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationResource;
import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.DurationMetric;
import
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.EndpointDescriptionsDocument;
import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.IntegerCounter;
@@ -258,6 +259,19 @@
ResourceStub resource2 = new ResourceStub(new
XmlBeansEndpointReference( weatherStation2EprDoc.getEndpointReference()) );
//resource2
assertEquals("FCCIDs did not match.", getFCCID(m_resource),
getFCCID(resource2));
+ }
+
+ public void testQueryRelationshipsByType() throws FaultException,
MalformedURLException, XmlException
+ {
+ RelationshipType[] relationshipTypes =
m_service.queryRelationshipsByType(WeatherstationResource.RELATIONSHIP_RELATION);
+ assertNotNull(relationshipTypes);
+ assertTrue(relationshipTypes.length == 1);
+ XmlObject[] childElements =
XmlBeanUtils.getChildElements(relationshipTypes[0].getType());
+
+ XmlObject childElement = childElements[0];
+ QName typeName = XmlBeanUtils.getName(childElement);
+
+ assertEquals(WeatherstationResource.RELATIONSHIP_RELATION, typeName);
}
private String getFCCID(ResourceStub resource)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]