You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2004/07/08 15:00:31 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal BeanParamWriter.java ClientStubHeaderWriter.java ClientStubWriter.java

damitha     2004/07/08 06:00:29

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal Tag:
                        Release1-2-branch BeanParamWriter.java
                        ClientStubHeaderWriter.java ClientStubWriter.java
  Log:
  OK Now doclit fault generation should work fine
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.19.2.1  +1 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
  
  Index: BeanParamWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java,v
  retrieving revision 1.19
  retrieving revision 1.19.2.1
  diff -u -r1.19 -r1.19.2.1
  --- BeanParamWriter.java	11 Jun 2004 05:01:28 -0000	1.19
  +++ BeanParamWriter.java	8 Jul 2004 13:00:28 -0000	1.19.2.1
  @@ -210,7 +210,7 @@
   				//if complex type
   				writer.write("\tparam->"+attribs[i].getParamName()+" = ("+attribs[i].getTypeName()+"*)pIWSDZ->getCmplxObject((void*)Axis_DeSerialize_"+attribs[i].getTypeName()+
   					"\n\t\t, (void*)Axis_Create_"+attribs[i].getTypeName()+", (void*)Axis_Delete_"+attribs[i].getTypeName()+
  -					"\n\t\t, \""+attribs[i].getElementName().getLocalPart()+"\", Axis_URI_"+attribs[i].getTypeName()+");\n");				
  +					"\n\t\t, \""+attribs[i].getParamName()+"\", Axis_URI_"+attribs[i].getTypeName()+");\n");				
   			}		
   		}
   		writer.write("\treturn pIWSDZ->getStatus();\n");
  
  
  
  1.16.2.1  +3 -2      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java
  
  Index: ClientStubHeaderWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java,v
  retrieving revision 1.16
  retrieving revision 1.16.2.1
  diff -u -r1.16 -r1.16.2.1
  --- ClientStubHeaderWriter.java	25 Jun 2004 08:58:58 -0000	1.16
  +++ ClientStubHeaderWriter.java	8 Jul 2004 13:00:29 -0000	1.16.2.1
  @@ -166,7 +166,8 @@
   	protected void writePreprocssorStatements() throws WrapperFault {
   		try{
   			writer.write("#include <axis/client/Stub.h>\n");
  -			writer.write("#include <axis/AxisGenException.h>\n");
  +			writer.write("#include <axis/ISoapFault.h>\n");
  +			writer.write("#include \"AxisClientException.h\"\n");
   			Type atype;
   			Iterator types = this.wscontext.getTypemap().getTypes().iterator();
   			HashSet typeSet = new HashSet();
  @@ -181,7 +182,7 @@
   				writer.write("#include \""+itr.next().toString()+".h\"\n");
   			}			
               //	Method to print the Fault Exception headers
  -			writeFaultHeaders();
  +			//writeFaultHeaders();
   			writer.write("\n");
   		}catch (IOException e) {
   			e.printStackTrace();
  
  
  
  1.32.2.1  +37 -46    ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
  
  Index: ClientStubWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java,v
  retrieving revision 1.32
  retrieving revision 1.32.2.1
  diff -u -r1.32 -r1.32.2.1
  --- ClientStubWriter.java	25 Jun 2004 08:58:58 -0000	1.32
  +++ ClientStubWriter.java	8 Jul 2004 13:00:29 -0000	1.32.2.1
  @@ -264,14 +264,10 @@
   			}
   		}
   		String channelSecurityType = (WrapperConstants.CHANNEL_SECURITY_SSL.equals(wscontext.getWrapInfo().getChannelSecurity()))?
  -										"SSL_CHANNEL" : "NORMAL_CHANNEL";
  -         //begin added Nithya		
  -		 writer.write("\tchar* cFaultcode;\n");//damitha added \t
  -		 writer.write("\tchar* cFaultstring;\n");//damitha \t
  -		 writer.write("\tchar* cFaultactor;\n");//damitha \t
  -		 writer.write("\tchar* cFaultdetail;\n");//damitha \t
  -         writer.write("\ttry\n\t{");//damitha \n
  -		//ended by nithya								
  +										"SSL_CHANNEL" : "NORMAL_CHANNEL";	
  +		 writer.write("\tconst char* pcCmplxFaultName;\n");
  +         writer.write("\ttry\n\t{");
  +		
   		writer.write("\tif (AXIS_SUCCESS != m_pCall->initialize(CPP_DOC_PROVIDER, "+channelSecurityType+")) return ");
   		if (returntype != null){
   			writer.write((returntypeisarray?"RetArray":returntypeissimple?"Ret":"pReturn")+";\n\t");
  @@ -434,31 +430,29 @@
   		    writer.write("\t\tif(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)\n");
               writer.write("\t\t{\n");
               writer.write("\t\t\tthrow;\n");
  -            writer.write("\t\t}\n");	
  -			writer.write("\t\telse if (AXIS_SUCCESS == m_pCall->checkFault(\"Fault\",\""+wscontext.getWrapInfo().getTargetEndpointURI()+"\" ))");
  -			writer.write("//Exception handling code goes here\n");
  -			writer.write("\t\t{\n");
  -			writer.write("\t\t\tcFaultcode = m_pCall->getElementAsString(\"faultcode\", 0);\n");
  -			writer.write("\t\t\tcFaultstring = m_pCall->getElementAsString(\"faultstring\", 0);\n");
  -			writer.write("\t\t\tcFaultactor = m_pCall->getElementAsString(\"faultactor\", 0);\n");
  +            writer.write("\t\t}\n");
  +            writer.write("\t\tISoapFault* pSoapFault = (ISoapFault*) m_pCall->checkFault(\"Fault\",\""+wscontext.getWrapInfo().getTargetEndpointURI()+"\" );\n");
  +            writer.write("\t\tif(pSoapFault)\n");
  +            writer.write("\t\t{\n");
                 			
               //to get fault info  		
  -			Iterator paramsFault = minfo.getFaultType().iterator();
  -			String faultInfoName =null;
  -			String faultType =null;	 
  -			String langName =null;
  -			String paramName =null;
  -		    boolean flag =false;
  -			int j =0;
  -			if (!paramsFault.hasNext())
  -			{
  -					writer.write("\t\t\tcFaultdetail = m_pCall->getElementAsString(\"faultdetail\", 0);\n");
  -					writer.write("\t\t\tthrow AxisGenException(cFaultdetail);\n");		
  -			}
  -			else
  -			{
  -					flag =true;			
  -			}
  +            Iterator paramsFault = minfo.getFaultType().iterator();
  +            String faultInfoName =null;
  +            String faultType =null;	 
  +            String langName =null;
  +            String paramName =null;
  +            boolean flag =false;
  +            int j =0;
  +            if (!paramsFault.hasNext())
  +            {
  +                writer.write("\t\t\tm_pCall->unInitialize();\n");
  +		writer.write("\t\t\tthrow AxisClientException(pSoapFault);\n");		
  +	    }
  +	    else
  +	    {
  +                flag =true;			
  +                writer.write("\t\t\tpcCmplxFaultName = pSoapFault->getCmplxFaultObjectName().c_str();\n");
  +	    }
   			while (paramsFault.hasNext()){
   				j =j+1;
   				FaultInfo info = (FaultInfo)paramsFault.next();
  @@ -483,8 +477,8 @@
   			if (flag ==true)
   			{		    	    
   					writer.write("\t\t\telse\n\t\t\t{\n");
  -					writer.write("\t\t\t\t  cFaultdetail = m_pCall->getElementAsString(\"faultdetail\", 0);\n");
  -					writer.write("\t\t\t\t  throw AxisGenException(cFaultdetail);\n");
  +					writer.write("\t\t\t\t  m_pCall->unInitialize();\n");
  +					writer.write("\t\t\t\t  throw AxisClientException(pSoapFault);\n");
   					writer.write("\t\t\t}\n");		
   			}	  		
   		  writer.write("\t\t}\n");
  @@ -495,19 +489,16 @@
   			
   		private void writeExceptions(String faulttype,String faultInfoName,String paramName,String langName) throws WrapperFault{
   			try{				
  -				writer.write("\t\t\tif(0 == strcmp(\""+langName+"\", cFaultstring))\n");
  -				writer.write("\t\t\t{\n");
  -				writer.write("\t\t\t\tif (AXIS_SUCCESS == m_pCall->checkFault(\"faultdetail\",\""+wscontext.getWrapInfo().getTargetEndpointURI()+"\"))\n");
  -			    writer.write("\t\t\t\t{\n");
  -				writer.write("\t\t\t\t\t"+faulttype+" pFaultDetail = NULL;\n");
  -				writer.write("\t\t\t\t\tpFaultDetail = ("+faulttype+")m_pCall->\n");
  -				writer.write("\t\t\t\t\t\tgetCmplxObject((void*) Axis_DeSerialize_"+langName+",\n");
  -				writer.write("\t\t\t\t\t\t(void*) Axis_Create_"+langName+",\n");
  -				writer.write("\t\t\t\t\t\t(void*) Axis_Delete_"+langName+",\""+paramName+"\", 0);\n");
  -				writer.write("\t\t\t\t\t/*User code to handle the struct can be inserted here*/\n");
  -				writer.write("\t\t\t\t\tm_pCall->unInitialize();\n");
  -				writer.write("\t\t\t\t\tthrow Axis"+faultInfoName+"Exception(pFaultDetail);\n");
  -				writer.write("\t\t\t\t}\n");
  +				writer.write("(0 == strcmp(\""+faultInfoName+"\", pcCmplxFaultName))\n");
  +				writer.write("\t\t\t{\n"); 
  +				writer.write("\t\t\t\t"+faulttype+" pFaultDetail = NULL;\n");
  +				writer.write("\t\t\t\tpFaultDetail = ("+faulttype+")pSoapFault->\n");
  +				writer.write("\t\t\t\t\tgetCmplxFaultObject((void*) Axis_DeSerialize_"+langName+",\n");
  +				writer.write("\t\t\t\t\t(void*) Axis_Create_"+langName+",\n");
  +				writer.write("\t\t\t\t\t(void*) Axis_Delete_"+langName+",\""+faultInfoName+"\", 0);\n");
  +                                writer.write("\t\t\t\tpSoapFault->setCmplxFaultObject(pFaultDetail);\n");
  +				writer.write("\t\t\t\tm_pCall->unInitialize();\n");
  +				writer.write("\t\t\t\tthrow AxisClientException(pSoapFault);\n");
   				writer.write("\t\t\t}\n");
   			}		
   			catch (IOException e) {