Skip to content

Commit

Permalink
Test Singleton EJB WS
Browse files Browse the repository at this point in the history
  • Loading branch information
wolfc committed Apr 1, 2011
1 parent a9541a5 commit 305ac9e
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 0 deletions.
@@ -0,0 +1,70 @@
/*
* JBoss, Home of Professional Open Source.
* Copyright (c) 2011, Red Hat, Inc., and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.as.testsuite.integration.wsejb;

import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.as.testsuite.integration.common.HttpRequest;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;

import static java.util.concurrent.TimeUnit.SECONDS;

/**
* EJB 3.1 FR 3.2.4 Stateless session beans and Singleton session beans may have web service clients.
*
* @author <a href="mailto:cdewolf@redhat.com">Carlo de Wolf</a>
*/
@RunWith(Arquillian.class)
public class EJBWebServicesTestCase {
@Deployment
public static JavaArchive deployment() {
return ShrinkWrap.create(JavaArchive.class, "ejbws-example.jar")
.addClasses(HttpRequest.class, SingletonEndpoint.class);
}

@Test
public void testSingleton() throws Exception {
final String message = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:test=\"http://wsejb.integration.testsuite.as.jboss.org/\">"
+ " <soapenv:Header/>"
+ " <soapenv:Body>"
+ " <test:setState>"
+ " <arg0>Foo</arg0>"
+ " </test:setState>"
+ " </soapenv:Body>"
+ "</soapenv:Envelope>";
String result = HttpRequest.put("http://localhost:8080/ejbws-example/SingletonEndpoint", message, 10, SECONDS);
// TODO: check something
System.out.println(result);
}

@Ignore
@Test
public void testSingletonWSDL() throws Exception {
final String wsdl = HttpRequest.get("http://localhost:8080/ejbws-example/SingletonEndpoint?wsdl", 10, SECONDS);
// TODO: check something
System.out.println(wsdl);
}
}
@@ -0,0 +1,44 @@
/*
* JBoss, Home of Professional Open Source.
* Copyright (c) 2011, Red Hat, Inc., and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.as.testsuite.integration.wsejb;

import javax.ejb.Singleton;
import javax.jws.WebService;

/**
* @author <a href="mailto:cdewolf@redhat.com">Carlo de Wolf</a>
*/
@Singleton
@WebService
public class SingletonEndpoint {
private String state;

public String getState() {
return state;
}

public String setState(String s) {
String previous = this.state;
this.state = s;
return previous;
}
}

0 comments on commit 305ac9e

Please sign in to comment.