[MOBY-guts] biomoby commit

Paul Gordon gordonp at dev.open-bio.org
Thu Aug 27 21:37:33 UTC 2009


gordonp
Thu Aug 27 17:37:32 EDT 2009
Update of /home/repository/moby/moby-live/Java/src/main/ca/ucalgary/services
In directory dev.open-bio.org:/tmp/cvs-serv6286/src/main/ca/ucalgary/services

Modified Files:
	SoapServlet.java 
Log Message:
Further element reference fixes for WSDL XML schema definitions
moby-live/Java/src/main/ca/ucalgary/services SoapServlet.java,1.6,1.7
===================================================================
RCS file: /home/repository/moby/moby-live/Java/src/main/ca/ucalgary/services/SoapServlet.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- /home/repository/moby/moby-live/Java/src/main/ca/ucalgary/services/SoapServlet.java	2009/08/26 22:02:18	1.6
+++ /home/repository/moby/moby-live/Java/src/main/ca/ucalgary/services/SoapServlet.java	2009/08/27 21:37:32	1.7
@@ -1045,14 +1045,18 @@
 					    continue;
 					}
 					if(subpartsMap.containsKey(BASIC_TYPE_SENTINEL)){
-					    writeDataType(out, messageQName.getLocalPart(),
-							  subpartsMap.get(BASIC_TYPE_SENTINEL), 
-							  type2Members, type2Members, "");
-					}
-					else{
-					    for(Map.Entry<String,QName> subpart: subpartsMap.entrySet()){
-						writeDataType(out, subpart.getKey(), subpart.getValue(), type2Members, type2Members, "");
+					    QName t = subpartsMap.get(BASIC_TYPE_SENTINEL);
+					    while(DEFERRED_NAMESPACE_URI.equals(t.getNamespaceURI())){
+						String[] p = t.getLocalPart().split("_deferred_");
+						t = new QName(decode(p[0]), p[1]);
+					    }
+					    if(t.getNamespaceURI().equals("http://www.w3.org/2001/XMLSchema")){
+						throw new Exception("Got bare XSD type as contents of WSDL message");
 					    }
+					    subpartsMap = type2Members.get(t);
+					}
+					for(Map.Entry<String,QName> subpart: subpartsMap.entrySet()){
+					    writeDataType(out, subpart.getKey(), subpart.getValue(), type2Members, type2Members, "");
 					}
 				    }
 				    else{ // rpc style




More information about the MOBY-guts mailing list