Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/07/2005, 05:12
sanmi69
 
Fecha de Ingreso: septiembre-2004
Mensajes: 191
Antigüedad: 19 años, 8 meses
Puntos: 1
Me autorespondo yo solito

Primero hay que crear un ejb stateless de sesion. Una vez creado el stateless de sesion hay q crear la siguiente tarea ant:

Código PHP:
<taskdef name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask" classpathref="antlib.classpath" />            
        <
target name="nombre_Tarea_que_Quieras">                
            <
servicegen 
              destEar
="ear_de_la_aplicacion"    
              
warName="war_que_contentra_el_WS"
              
contextURI="URI_realtiva_del_War" 
              <
service 
                ejbJar
="EJB_creado" 
                
targetNamespace="Recomendado_poner_url_del_war" 
                
serviceName="nombre_del_SW" 
                
serviceURI="dir_relativa_del_web_service" 
                
generateTypes="True" 
                
expandMethods="True" 
              </
service>
            </
servicegen>            
        </
target
con esto, nos creara el descriptor web-services.xml, y ya esta. Los demas descriptores y clases las genera weblogic 8.1 al vuelo.

Aki va un ejemplo de como seria una tarea:

Código PHP:
<taskdef name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask" classpathref="antlib.classpath" />            
        <
target name="generar_WebServices">                    
            <
servicegen 
              destEar
="exe"    
              
warName="h50War"
              
contextURI="h50War" 
              <
service 
                ejbJar
="exe/h50webServicesSesionEJB" 
                
targetNamespace="http://localhost:7001/h50War/" 
                
serviceName="h50WebService" 
                
serviceURI="/h50WebService" 
                
generateTypes="True" 
                
expandMethods="True" 
              </
service>
            </
servicegen>            
        </
target
Ahora la pagina para probar el WS sera:

Código PHP:
[protocolo]://[host]:[puerto]/[contextURI]/[serviceURI] 
y la url donde nos devolvera el wsdl es

Código PHP:
[protocolo]://[host]:[ puerto]/[contextURI]/[serviceURI]?WSDL 
PD: Si el ear y/o el war en vez de estar explotados en directorios se encunetran en un .ear o .war, en la ruta de estos parametros hay q indicarle el directorio donde se encuentra el .ear/.war y el nombre del archivo incluido su extension

PD2: Para el caso q el EJB estubiera comprimido en un .jar, realizar lo mismo que para los .ear/.war

Saludos y espero q le sea de utilidad a alguien mas, devido a k + de 30 personas han leido mi post pero no han sabido contestarme.
A final era mas sencillo de lo que parecia, gracias a q el WebLogic genera automaticamente las clases de interfaz, y los descritores necesarios a partir del EJB y del web-services.xml que genera la tarea "servicegen"