|
Apache CXF example source code file (HelloWorldServlet.java)
The Apache CXF HelloWorldServlet.java source code/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package demo.servlet; import java.io.PrintWriter; import java.util.Map; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.resource.ResourceException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.namespace.QName; import javax.xml.ws.BindingProvider; import org.apache.cxf.jca.outbound.CXFConnection; import org.apache.cxf.jca.outbound.CXFConnectionFactory; import org.apache.cxf.jca.outbound.CXFConnectionSpec; import org.apache.hello_world_soap_http.Greeter; public class HelloWorldServlet extends DemoServletBase { private static final String EIS_JNDI_NAME = "java:comp/env/eis/CXFConnectionFactory"; private String operationName; private String userName; public HelloWorldServlet() { super("J2EE Connector Hello World Demo"); } public void doGet(HttpServletRequest req, HttpServletResponse resp) { try { operationName = req.getParameter("Operation"); userName = req.getParameter("User"); super.doGet(req, resp); } finally { operationName = null; } } public void doPost(HttpServletRequest req, HttpServletResponse resp) { doGet(req, resp); } /** * get a connection to the SOAP service */ protected CXFConnection getServiceConnection() throws NamingException, ResourceException { // retrieve the connection factory from JNDI // Context ctx = new InitialContext(); CXFConnectionFactory factory = (CXFConnectionFactory)ctx.lookup(EIS_JNDI_NAME); // create the connection // CXFConnectionSpec spec = new CXFConnectionSpec(); spec.setWsdlURL(getClass().getResource("/wsdl/hello_world.wsdl")); spec.setBusConfigURL(getClass().getResource("/etc/cxf_client.xml")); spec.setServiceName(new QName("http://apache.org/hello_world_soap_http", "SOAPService")); spec.setEndpointName(new QName("http://apache.org/hello_world_soap_http", "SoapPort")); spec.setServiceClass(Greeter.class); return factory.getConnection(spec); } protected void writeMainBody(PrintWriter writer) { operationForm(writer); writer.println(" " + getResponseFromWebService()); } protected void operationForm(PrintWriter writer) { writer.println("<TABLE ALIGN=\"center\">"); writer.println("<FORM ACTION=\"./*.do\" METHOD=GET>"); writer.println("<TR> | Operation: "); writer.println("<TR> | "); writer.println("<INPUT TYPE=RADIO NAME=\"Operation\" VALUE=\"sayHi\"" + ("sayHi".equals(operationName) ? " CHECKED " : "") + "> sayHi<BR>"); writer.println("<TR> | "); writer.println("<INPUT TYPE=RADIO NAME=\"Operation\" VALUE=\"greetMe\"" + ("greetMe".equals(operationName) ? " CHECKED " : "") + "> greetMe "); writer.println("<INPUT TYPE=TEXT NAME=\"User\" VALUE=\"" + ("greetMe".equals(operationName) ? userName : "") + "\" SIZE=20><BR>"); writer.println("<TR> | ");
writer.println("<INPUT TYPE=SUBMIT VALUE=\"Submit\"> "); writer.println("</FORM>"); writer.println("</TABLE>"); } String getResponseFromWebService() { String responseFromWebService = "No message sent"; CXFConnection connection = null; try { connection = getServiceConnection(); Greeter greeter = connection.getService(Greeter.class); if (operationName != null) { if ("sayHi".equals(operationName)) { responseFromWebService = greeter.sayHi(); } else if ("greetMe".equals(operationName)) { responseFromWebService = greeter.greetMe(userName); } } Map<String, Object> requestContext = ((BindingProvider)greeter).getRequestContext(); System.out.println("requestContext = " + requestContext); } catch (Exception e) { e.printStackTrace(); if (e.getCause() != null) { e.getCause().printStackTrace(); } responseFromWebService = e.toString(); } finally { try { if (connection != null) { connection.close(); } } catch (Exception e) { // report error from close } } return responseFromWebService; } } Other Apache CXF examples (source code examples)Here is a short list of links related to this Apache CXF HelloWorldServlet.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.