EJBPort cannot be found

"Max Widjaja" <[email protected]>
Newsgroups gmane.comp.apache.webservices.wsif.user
Message-ID <[email protected]>
Dears Sirs,

I have been trying to invoke an ejb through wsif until now I haven't
succeded in getting the EJBPort.
WSIFTest founds only SOAP- and JavaPort. 
Could anyone help me finding the mistake?

Thx,
Max 

Here is my java code and wsdl code.

/*
 * Created on 16.05.2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import java.util.Iterator;

import org.apache.wsif.WSIFException;
import org.apache.wsif.WSIFMessage;
import org.apache.wsif.WSIFOperation;
import org.apache.wsif.WSIFPort;
import org.apache.wsif.WSIFService;
import org.apache.wsif.WSIFServiceFactory;

/**
 * @author m@X
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class WsifTest {

	public static void main(String[] args) {
		try {
			//create a service factory
	        WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
	        WSIFService service = factory.getService("D:/hello.wsdl", 
	        										null, 
													null, 
													"http://www.actis.atosorigin.de/services/hello",
													"helloPT");
	        
	        Iterator it = service.getAvailablePortNames();
	        while(it.hasNext()){
	        	Object o = it.next();
	        	System.out.println(o);
	        }
	        
	        WSIFPort port = service.getPort();
	        
	        //calling method
	        WSIFOperation operation = port.createOperation("sayHello");
	        
	        //create the messages
	        WSIFMessage input = operation.createInputMessage();
	        WSIFMessage output = operation.createOutputMessage();
	        WSIFMessage fault = operation.createFaultMessage();
	        
	        //fill in the input message 
	        input.setObjectPart("sayHelloParam", "Max");
	        
	        //invoke the method
	        if (operation.executeRequestResponseOperation(input,output,fault))
{
	    		// invocation succeeded
	    		// extract the address from the output message
	    		String result = (String) output.getObjectPart("sayHelloReturn");
	    		System.out.println("Invoked succssfully: " + result);
	        } else {
	        	System.out.println(fault);
	        }
		} catch (WSIFException we) {
		    System.out.println("Got exception from WSIF, details:");
		    we.printStackTrace(); 


		}
	}
}

##################################################################################
WSDL
##################################################################################

<?xml version="1.0" encoding="UTF-8"?>
<definitions targetNamespace="http://www.actis.atosorigin.de/services/hello"

	xmlns:he="http://www.actis.atosorigin.de/services/hello"   
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
	xmlns:format="http://schemas.xmlsoap.org/wsdl/formatbinding/"
    xmlns:ejb="http://schemas.xmlsoap.org/wsdl/ejb/" 
    xmlns:java="http://schemas.xmlsoap.org/wsdl/java/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns="http://schemas.xmlsoap.org/wsdl/">

   <message name="sayHelloRequest">
      <part name="sayHelloParam" type="xsd:string"/>
   </message>

   <message name="sayHelloResponse">
      <part name="sayHelloReturn" type="xsd:string"/>
   </message>
   
    <message name="sayHelloFault">
      <part name="faultMessage" type="xsd:string"/>
   </message>

   <portType name="helloPT">
      <operation name="sayHello" parameterOrder="sayHelloParam">
         <input message="he:sayHelloRequest" name="sayHelloRequest"/>
         <output message="he:sayHelloResponse" name="sayHelloResponse"/>
         <fault message="he:sayHelloFault" name="sayHelloFault"/>
      </operation>
   </portType>

   <binding name="HelloSoapBinding" type="he:helloPT">
      <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="sayHello">
         <soap:operation soapAction=""/>
         <input name="sayHelloRequest">
            <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://www.actis.atosorigin.de/services/hello" use="encoded"/>
         </input>
         <output name="sayHelloResponse">
            <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://www.actis.atosorigin.de/services/hello" use="encoded"/>
         </output>
         <fault name="sayHelloFault">
            <soap:fault name="HelloFault"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://www.actis.atosorigin.de/services/hello" use="encoded"/>
         </fault>
      </operation>
   </binding>
   
   <binding name="HelloJavaBinding" type="he:helloPT">
   		<java:binding/>
    	<format:typeMapping encoding="Java" style="Java">
      		<format:typeMap typeName="xsd:string" formatType="java.lang.String"
/>
    	</format:typeMapping>
    	<operation name="sayHello">
      		<java:operation methodName="sayHello" methodType="instance"/>
      		<input/>
      		<output/>
    	</operation>       
  	</binding>
  	
  	<binding name="HelloEjbBinding" type="he:helloPT">
   		<ejb:binding/>
    	<format:typeMapping encoding="Java" style="Java">
      		<format:typeMap typeName="xsd:string"
formatType="java.lang.String"/>
    	</format:typeMapping>
    	<operation name="sayHello">
	    	<ejb:operation 
	      		methodName="sayHello"
	      		parameterOrder="sayHelloParam"
	      		interface="remote"/>
	      		<input name="sayHelloRequest"/>
	      		<output name="sayHelloResponse"/>
    	</operation>       
  	</binding>

   <service name="HelloService">
      <port name="SOAPPort" binding="he:HelloSoapBinding">
         <soap:address
location="http://localhost:8080/axis/services/Hello"/>
      </port>
      <port name="JavaPort" binding="he:HelloJavaBinding">
      	 <java:address className="services.hello.HelloImpl"/>
      </port>
      <port name="EJBPort" binding="he:HelloEjbBinding">
        	<!-- Put vendor-specific deployment information here -->
			<ejb:address className="services.hello.ejb.HelloSessionHome"
		     			jndiName="ejb/service/HelloSession"
                   
	initialContextFactory="org.jnp.interfaces.NamingContextFactory"
	             		jndiProviderURL="jnp://localhost:1099"/>
	  </port>
   </service>
   
   <plnk:partnerLinkType name="HelloLinkType">
       <plnk:role name="Responder">
           <plnk:portType name="he:helloPT"/>
       </plnk:role>
    </plnk:partnerLinkType>

</definitions>

-- 
5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
+++ GMX - die erste Adresse f�r Mail, Message, More +++

-- 
5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
+++ GMX - die erste Adresse f�r Mail, Message, More +++
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.