diff --git a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java index 35a3dd9cca5df27e100ea4f6885c7dce631cccfd..ef81bf7a4b497c5b226b1313031fe25c19ec6b0f 100644 --- a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java +++ b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java @@ -203,7 +203,9 @@ public class WSAServProfile implements AlignmentServiceProfile { Properties newparameters = null; Message answer = null; boolean restful = (param.getProperty("restful")==null)?false:true; - String msg=""; + String svcNS = "\n xml:base='"+Namespace.ALIGNSVC.prefix+"'"+ + "\n xmlns='"+Namespace.ALIGNSVC.prefix+"'"; + String msg = ""; // Set parameters if necessary if ( restful ) { @@ -239,7 +241,7 @@ public class WSAServProfile implements AlignmentServiceProfile { if ( perf.equals("WSDL") || method.equals("wsdl") || method.equals("wsdlRequest") ) { msg += wsdlAnswer( !restful ); } else if ( method.equals("listalignmentsRequest") || method.equals("listalignments") ) { - msg += " <listalignmentsResponse>\n <alignmentList>\n"; + msg += " <listalignmentsResponse"+svcNS+">\n <alignmentList>\n"; if ( newparameters.getProperty("msgid") != null ) { msg += " <in-reply-to>"+newparameters.getProperty("msgid")+"</in-reply-to>\n"; } @@ -250,27 +252,27 @@ public class WSAServProfile implements AlignmentServiceProfile { msg += " </alignmentList>\n </listalignmentsResponse>\n"; // -> List of URI } else if ( method.equals("listmethodsRequest") || method.equals("listmethods") ) { // -> List of String - msg += getClasses( "listmethodsResponse", manager.listmethods(), newparameters ); + msg += getClasses( "listmethodsResponse", svcNS, manager.listmethods(), newparameters ); } else if ( method.equals("listrenderersRequest") || method.equals("listrenderers") ) { // -> List of String - msg += getClasses( "listrenderersResponse", manager.listrenderers(), newparameters ); + msg += getClasses( "listrenderersResponse", svcNS, manager.listrenderers(), newparameters ); } else if ( method.equals("listservicesRequest") || method.equals("listservices") ) { // -> List of String - msg += getClasses( "listservicesResponse", manager.listservices(), newparameters ); + msg += getClasses( "listservicesResponse", svcNS, manager.listservices(), newparameters ); } else if ( method.equals("listevaluatorsRequest") || method.equals("listevaluators") ) { // -> List of String - msg += getClasses( "listevaluatorsResponse", manager.listevaluators(), newparameters ); + msg += getClasses( "listevaluatorsResponse", svcNS, manager.listevaluators(), newparameters ); } else if ( method.equals("storeRequest") || method.equals("store") ) { // URI -> URI if ( newparameters.getProperty( "id" ) == null ) { answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { answer = manager.store( new Message(newId(),(Message)null,myId,serverURL,newparameters.getProperty( "id" ), newparameters) ); } - msg += " <storeResponse>\n"+answer.SOAPString()+" </storeResponse>\n"; + msg += " <storeResponse"+svcNS+">\n"+answer.SOAPString()+" </storeResponse>\n"; } else if ( method.equals("invertRequest") || method.equals("invert") ) { // URI -> URI if ( newparameters.getProperty( "id" ) == null ) { answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { answer = manager.inverse( new Message(newId(),(Message)null,myId,serverURL, newparameters.getProperty( "id" ), newparameters) ); } - msg += " <invertResponse>\n"+answer.SOAPString()+" </invertResponse>\n"; + msg += " <invertResponse"+svcNS+">\n"+answer.SOAPString()+" </invertResponse>\n"; } else if ( method.equals("trimRequest") || method.equals("trim") ) { // URI * string * float -> URI if ( newparameters.getProperty( "id" ) == null ) { answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); @@ -282,7 +284,7 @@ public class WSAServProfile implements AlignmentServiceProfile { } answer = manager.trim( new Message(newId(),(Message)null,myId,serverURL,newparameters.getProperty( "id" ), newparameters) ); } - msg += " <trimResponse>\n"+answer.SOAPString()+" </trimResponse>\n"; + msg += " <trimResponse"+svcNS+">\n"+answer.SOAPString()+" </trimResponse>\n"; } else if ( method.equals("matchRequest") || method.equals("match") ) { // URL * URL * URI * String * boolean * (newparameters) -> URI if ( newparameters.getProperty( "onto1" ) == null ) { answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); @@ -291,7 +293,7 @@ public class WSAServProfile implements AlignmentServiceProfile { } else { answer = manager.align( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); } - msg += " <matchResponse>\n"+answer.SOAPString()+"</matchResponse>\n"; + msg += " <matchResponse"+svcNS+">\n"+answer.SOAPString()+"</matchResponse>\n"; } else if ( method.equals("align") ) { // URL * URL * (newparameters) -> URI // This is a dummy method for emulating a WSAlignement service if ( newparameters.getProperty( "onto1" ) == null ) { @@ -320,7 +322,7 @@ public class WSAServProfile implements AlignmentServiceProfile { } } } - msg += " <alignResponse>\n"; + msg += " <alignResponse"+svcNS+">\n"; if ( answer instanceof ErrorMsg ) { msg += answer.SOAPString(); } else { @@ -335,7 +337,7 @@ public class WSAServProfile implements AlignmentServiceProfile { } else { answer = manager.existingAlignments( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); } - msg += " <findResponse>\n"+answer.SOAPString()+" </findResponse>\n"; + msg += " <findResponse"+svcNS+">\n"+answer.SOAPString()+" </findResponse>\n"; } else if ( method.equals("retrieveRequest") || method.equals("retrieve")) { // URI * method -> XML if ( newparameters.getProperty( "id" ) == null ) { answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); @@ -345,7 +347,7 @@ public class WSAServProfile implements AlignmentServiceProfile { newparameters.setProperty( "embedded", "true" ); answer = manager.render( new Message(newId(),(Message)null,myId,serverURL, "", newparameters) ); } - msg += " <retrieveResponse>\n"; + msg += " <retrieveResponse"+svcNS+">\n"; if ( answer instanceof ErrorMsg ) { msg += answer.SOAPString(); } else { @@ -362,7 +364,7 @@ public class WSAServProfile implements AlignmentServiceProfile { newparameters.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.XMLMetadataRendererVisitor"); answer = manager.render( new Message(newId(),(Message)null,myId,serverURL, "", newparameters) ); } - msg += " <metadataResponse>\n"+answer.SOAPString()+"\n </metadataResponse>\n"; + msg += " <metadataResponse"+svcNS+">\n"+answer.SOAPString()+"\n </metadataResponse>\n"; } else if ( method.equals("loadRequest") || method.equals("load") ) { // URL -> URI if ( newparameters.getProperty( "url" ) == null && param.getProperty( "filename" ) != null ) { @@ -373,7 +375,7 @@ public class WSAServProfile implements AlignmentServiceProfile { answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } answer = manager.load( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); - msg += " <loadResponse>\n"+answer.SOAPString()+" </loadResponse>\n"; + msg += " <loadResponse"+svcNS+">\n"+answer.SOAPString()+" </loadResponse>\n"; /* // JE2009: This has never been in use. } else if ( method.equals("loadfileRequest") ) { // XML -> URI @@ -382,22 +384,20 @@ public class WSAServProfile implements AlignmentServiceProfile { } else { answer = manager.load( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); } - msg += " <loadResponse>\n"+answer.SOAPString()+" </loadResponse>\n"; + msg += " <loadResponse"+svcNS+">\n"+answer.SOAPString()+" </loadResponse>\n"; */ } else if ( method.equals("translateRequest") ) { // XML * URI -> XML // Not done yet - msg += " <translateResponse>\n"+" </translateResponse>\n"; + msg += " <translateResponse "+svcNS+">\n"+" </translateResponse>\n"; } else { - msg += " <UnRecognizedAction />\n"; + msg += " <UnRecognizedAction "+svcNS+"/>\n"; } if ( restful ) { return msg; } else { - return "<"+Namespace.SOAP_ENV.shortCut+":Envelope\n" + - " xmlns='"+Namespace.ALIGNSVC.prefix+"'\n" + - " xml:base='"+Namespace.ALIGNSVC.prefix+"'\n" + - " xmlns:"+Namespace.SOAP_ENV.shortCut+"='"+Namespace.SOAP_ENV.prefix+"'\n" + + return "<"+Namespace.SOAP_ENV.shortCut+":Envelope\n" + + " xmlns:"+Namespace.SOAP_ENV.shortCut+"='"+Namespace.SOAP_ENV.prefix+"'\n"+ " xmlns:"+Namespace.XSI.shortCut+"='"+Namespace.XSI.prefix+"'\n" + " xmlns:"+Namespace.XSD.shortCut+"='"+Namespace.XSD.uri+"'>\n" + " <"+Namespace.SOAP_ENV.shortCut+":Body>\n"+msg+" </"+Namespace.SOAP_ENV.shortCut+":Body>\n" + @@ -453,8 +453,8 @@ public class WSAServProfile implements AlignmentServiceProfile { return res; } - private String getClasses( String tag, Set<String> classlist, Properties param ){ - String res = " <"+tag+">\n <classList>\n"; + private String getClasses( String tag, String ns, Set<String> classlist, Properties param ){ + String res = " <"+tag+ns+">\n <classList>\n"; if ( param.getProperty("msgid") != null ) { res += " <in-reply-to>"+param.getProperty("msgid")+"</in-reply-to>\n"; }