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 di...@apache.org on 2004/06/13 05:07:55 UTC

cvs commit: ws-axis/java/src/org/apache/axis/client Service.java

dims        2004/06/12 20:07:55

  Modified:    java/src/org/apache/axis/client Service.java
  Log:
  Additional checks to conform to JAXRPC spec (Fix TCK failure reported by Ias)
  
  Revision  Changes    Path
  1.98      +15 -0     ws-axis/java/src/org/apache/axis/client/Service.java
  
  Index: Service.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/client/Service.java,v
  retrieving revision 1.97
  retrieving revision 1.98
  diff -u -r1.97 -r1.98
  --- Service.java	10 May 2004 18:55:53 -0000	1.97
  +++ Service.java	13 Jun 2004 03:07:55 -0000	1.98
  @@ -410,6 +410,21 @@
                       Messages.getMessage("mustExtendRemote00"));
           }
   
  +        // Validate the proxyInterface
  +        if (wsdlParser != null) {
  +            Port port = wsdlService.getPort(portName.getLocalPart());
  +            if (port == null)
  +                throw new ServiceException(Messages.getMessage("noPort00", "" + proxyInterface.getName()));
  +    
  +            Binding binding = port.getBinding();
  +            SymbolTable symbolTable = wsdlParser.getSymbolTable();
  +            BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
  +            if(bEntry.getParameters().size() !=  proxyInterface.getMethods().length) {
  +                throw new ServiceException(Messages.getMessage("incompatibleSEI00", "" + portName));
  +            }  
  +            // TODO: Check the methods and the parameters as well.
  +        }
  +        
           try {
               Call call = null;
               if (portName == null) {
  
  
  

RE: cvs commit: ws-axis/java/src/org/apache/axis/client Service.java

Posted by Ias <ia...@tmax.co.kr>.
>   +            Binding binding = port.getBinding();
>   +            SymbolTable symbolTable = wsdlParser.getSymbolTable();
>   +            BindingEntry bEntry = 
> symbolTable.getBindingEntry(binding.getQName());
>   +            if(bEntry.getParameters().size() !=  
> proxyInterface.getMethods().length) {
>   +                throw new 
> ServiceException(Messages.getMessage("incompatibleSEI00", "" 
> + portName));

Are you going to commit a change to resources.properties for
"incompatibleSEI00"? I think

incompatibleSEI00=Incompatible service endpoint interface: {0}

and 

                throw new 
 ServiceException(Messages.getMessage("incompatibleSEI00", "" 
 + proxyInterface.getName()));

would be better.

Thanks,

Ias


>   +            }  
>   +            // TODO: Check the methods and the parameters as well.
>   +        }
>   +        
>            try {
>                Call call = null;
>                if (portName == null) {
>   
>   
>   
>