You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by su...@apache.org on 2004/04/09 06:18:58 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws WSDL2Ws.java

susantha    2004/04/08 21:18:58

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws WSDL2Ws.java
  Log:
  fix for bug http://nagoya.apache.org/jira/browse/AXISCPP-36
  
  Revision  Changes    Path
  1.24      +42 -11    ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java
  
  Index: WSDL2Ws.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- WSDL2Ws.java	1 Apr 2004 06:25:54 -0000	1.23
  +++ WSDL2Ws.java	9 Apr 2004 04:18:58 -0000	1.24
  @@ -242,9 +242,10 @@
               Map faults = op.getFaults();
   			addFaultInfo(faults,minfo);
               
  -            Iterator paramlist = op.getInput().getMessage().getParts().values().iterator();
  +            Iterator paramlist = null;
               //add each parameter to parameter list
               if ("document".equals(bindingEntry.getBindingStyle().getName())){
  +				paramlist = op.getInput().getMessage().getParts().values().iterator();
   				Part part = (Part) paramlist.next();
   				element = symbolTable.getElement(part.getElementName());
   				qname = element.getRefType().getQName();
  @@ -281,11 +282,22 @@
   				}
   	    	}
       	   	else{
  -	    	  	while (paramlist.hasNext()) { //RPC style messages can have multiple parts
  -	        	 	Part p = (Part) paramlist.next();
  -	            	pinfo = createParameterInfo(p);
  -					if (null != pinfo) minfo.addInputParameter(pinfo);
  -	           	}
  +    	   		if (op.getParameterOrdering() != null){
  +	    	   		for (int ix=0; ix < op.getParameterOrdering().size(); ix++){
  +						Part p = (Part)(op.getInput().getMessage().getParts().get((String)op.getParameterOrdering().get(ix)));
  +						if (p == null) continue;
  +						pinfo = createParameterInfo(p);
  +						if (null != pinfo) minfo.addInputParameter(pinfo);
  +	    	   		}
  +    	   		}
  +    	   		else {
  +					paramlist = op.getInput().getMessage().getParts().values().iterator();
  +					while (paramlist.hasNext()) { //RPC style messages can have multiple parts
  +						Part p = (Part) paramlist.next();
  +						pinfo = createParameterInfo(p);
  +						if (null != pinfo) minfo.addInputParameter(pinfo);
  +					}    	   			
  +    	   		}
               }
               //get the return type
   			if(op.getOutput()!=null){
  @@ -328,11 +340,30 @@
   					}
   				}
   				else{
  -		            while (returnlist.hasNext()) { //RPC style messages can have multiple parts
  -		                Part p = ((Part) returnlist.next());
  -						pinfo = createParameterInfo(p);
  -						if (null != pinfo) minfo.addOutputParameter(pinfo);
  -		            }
  +					if (op.getParameterOrdering() != null){
  +						for (int ix=0; ix < op.getParameterOrdering().size(); ix++){
  +							Part p = (Part)(op.getOutput().getMessage().getParts().get((String)op.getParameterOrdering().get(ix)));
  +							if (p == null) continue;
  +							pinfo = createParameterInfo(p);
  +							if (null != pinfo) minfo.addOutputParameter(pinfo);
  +						}
  +						/* there can be more output parameters than in parameterOrder list (partial parameter ordering) */
  +						returnlist = op.getOutput().getMessage().getParts().values().iterator();
  +						while (returnlist.hasNext()) { //RPC style messages can have multiple parts
  +							Part p = (Part) returnlist.next();
  +							if (op.getParameterOrdering().contains(p.getName())) continue;
  +							pinfo = createParameterInfo(p);
  +							if (null != pinfo) minfo.addInputParameter(pinfo);
  +						}    	   				    	   			
  +					}
  +					else {
  +						returnlist = op.getOutput().getMessage().getParts().values().iterator();
  +						while (returnlist.hasNext()) { //RPC style messages can have multiple parts
  +							Part p = ((Part) returnlist.next());
  +							pinfo = createParameterInfo(p);
  +							if (null != pinfo) minfo.addOutputParameter(pinfo);
  +						}
  +					}
   				}
   			}
           }
  
  
  

Re: cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws WSDL2Ws.java

Posted by Adhamh Findlay <af...@austin.rr.com>.
Is it possible to get removed from this mailing list?  I unsubcribed from
the dev list, but I am still getting these emails.   I would really like to
make the stop.  I don't see a way to unsubscribe from this list at
http://ws.apache.org/axis/mail.html.

Thanks,

Adhamh


Re: cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws WSDL2Ws.java

Posted by Adhamh Findlay <af...@austin.rr.com>.
Is it possible to get removed from this mailing list?  I unsubcribed from
the dev list, but I am still getting these emails.   I would really like to
make the stop.  I don't see a way to unsubscribe from this list at
http://ws.apache.org/axis/mail.html.

Thanks,

Adhamh