public void addNotificationProfile(VxsNotificationProfile profile) throws VxsPersistenceException;
public void deleteNotificationProfile(VxsUserId userId) throws VxsPersistenceException;
public VxsNotificationProfile retrieveNotificationProfile(VxsUserId userId) throws VxsPersistenceException;
public void updateNotificationProfile(VxsNotificationProfile profile) throws VxsPersistenceException;
It deploys successfully but when I try to view the WSDL I get the following exception:
Fault - ; nested exception is: WSDLException: faultCode=OTHER_ERROR: Can't find prefix for 'http://notification.voxsurf.com'. Namespace prefixes must be set on the Definition object using the addNamespace(...) method.:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode: faultString: WSDLException: faultCode=OTHER_ERROR: Can't find prefix for 'http://notification.voxsurf.com'. Namespace prefixes must be set on the Definition object using the addNamespace(...) method.: faultActor: faultNode: faultDetail:
However if I remove some of the class's methods from the allowedMethods parameter in the wsdd (which I've attached), then I can view the WSDL with no error. It appears that I can declare a single method that takes a VxsNotificationProfile object as a parameter, but if I declare two methods such as addNotificationProfile and updateNotificationProfile then the error occurs. It may be a problem with my custom serializer for that class but the fact that I can view the WSDL for certain methods that take in or return an instance of the object suggests otherwise.
Does anyone have any ideas as to what I'm doing wrong?
Thanks
Greg Cawthorn
<deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"> <service name="NotificationService" style="message"> <parameter name="className" value="com.voxsurf.notification.service.VxsNotificationWebService"/> <parameter name="allowedMethods" value="submitEvent"/> </service> <service name="NotificationProfileService" style="java:RPC"> <parameter name="className" value="com.voxsurf.notification.service.VxsWebServiceNotificationProfileDataHandler"/> <!--<parameter name="allowedMethods" value="addNotificationProfile deleteNotificationProfile retrieveNotificationProfile updateNotificationProfile"/>--> <parameter name="allowedMethods" value="deleteNotificationProfile retrieveNotificationProfile"/> <typeMapping qname="ns:VxsUserId" xmlns:ns="urn:notification.voxsurf.com" languageSpecificType="java:com.voxsurf.core.entities.VxsUserId" deserializer="com.voxsurf.notification.service.axis.VxsUserIdDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
<typeMapping qname="ns:VxsNotificationRuleId" xmlns:ns="urn:notification.voxsurf.com" languageSpecificType="java:com.voxsurf.notification.ruleengine.VxsNotificationRuleId" deserializer="com.voxsurf.notification.service.axis.VxsNotificationRuleIdDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping qname="ns:VxsNotificationDeviceId" xmlns:ns="urn:notification.voxsurf.com" languageSpecificType="java:com.voxsurf.notification.VxsNotificationDeviceId" deserializer="com.voxsurf.notification.service.axis.VxsNotificationDeviceIdDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping qname="ns:VxsNotificationRule" xmlns:ns="urn:notification.voxsurf.com" languageSpecificType="java:com.voxsurf.notification.ruleengine.VxsNotificationRule" serializer="com.voxsurf.notification.service.axis.VxsNotificationRuleSerializerFactory" deserializer="com.voxsurf.notification.service.axis.VxsNotificationRuleDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping qname="ns:VxsNotificationDevice" xmlns:ns="urn:notification.voxsurf.com" languageSpecificType="java:com.voxsurf.notification.VxsNotificationDevice" serializer="com.voxsurf.notification.service.axis.VxsNotificationDeviceSerializerFactory" deserializer="com.voxsurf.notification.service.axis.VxsNotificationDeviceDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </service> </deployment>