2012-10-30 3 views
0

J'utilise wsgen pour générer des stubs Java SOAP.Java JAX-WS, wsgen, classe comme paramètre?

L'utilisation de types de base Java ou de collections n'est PAS un problème.

Mais si j'essaie d'utiliser une classe personnalisée en tant que paramètre, j'obtiens une erreur de la part de wsgen. javac Je le fais avant sur les fichiers java est sans erreur.

ici mon Interface.java comme exemple:

@WebService (targetNamespace = "TNS") 
public class Interface 
{ 
    public int foo (F f) 
    { 
    return 1; 
    } 
} 

class F 
{ 
} 

L'erreur de wsgen est "ne peut pas trouver le symbole: classe F". J'ai essayé aussi des paquets, F dans un fichier propre, etc.

L'appel de wsgen est: wsgen -cp. -wsdl Interface

des idées? merci!

+2

Je suppose que 'F' n'étant pas public est un problème - le type n'est pas visible en dehors de son paquet. – McDowell

+0

Après avoir essayé de le faire de haut en bas avec un wsdl j'ai découvert que le wsimport-java-generator y ajoute une annotation. @SOAPBinding (parameterStyle = SOAPBinding.ParameterStyle.BARE) – chris01

Répondre

1

annotatoin supplémentaire a résolu le problème:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 

découvert en regardant le code généré dans l'autre sens (wsdl -> java) par wsimport.

Questions connexes