Issue #1948 Fixed registry data access errors from CAVE

Change-Id: I46e275e4503ed8364c9c9b7019d02cf3f4f67132

Former-commit-id: a482a2d4dd [formerly ac432ca4c4453f8fcaa39d9c9d5ccc3df078585b]
Former-commit-id: 9842c18d70
This commit is contained in:
Benjamin Phillippe 2013-05-03 12:13:04 -05:00
parent e2585bcd05
commit 144a145969
6 changed files with 221 additions and 16 deletions

View file

@ -0,0 +1,57 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.registry;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
/**
*
* Web service interface accessible to process Thrift serialized server requests
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 5/3/2013 1948 bphillip Initial implementation
* </pre>
*
* @author bphillip
* @version 1
*/
@WebService(serviceName = "RegistryRequestService")
@SOAPBinding(style = Style.RPC)
public interface IRegistryRequestService {
/**
* Process the Thrift serialized request and return the Thrift serialized
* response
*
* @param data
* The Thrift serialized request
* @return The Thrift serialized response
*/
@WebMethod
public byte[] request(byte[] data);
}

View file

@ -0,0 +1,80 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.registry;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
/**
*
*
* Service class for submitting registry requests to the EDEX ebxml registry via
* JAX-WS
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 5/3/2013 1948 bphillip Initial implementation
* </pre>
*
* @author bphillip
* @version 1
*/
public class RegistryRequestService extends Service {
/** The service name */
private static final QName SERVICE_NAME = new QName(
"http://registry.common.uf.raytheon.com/", "RegistryRequestService");
/** The location of the wsdl */
private static final String WSDL_LOCATION = "/registryRequest?wsdl";
/**
* Creates a new RegistryRequestService service residing on the given server
* on the given port
*
* @param server
* The server
* @param port
* The port number
* @throws MalformedURLException
* If errors occur constructing the service URL
*/
public RegistryRequestService(String server, String port)
throws MalformedURLException {
super(new URL("http://" + server + ":" + port + WSDL_LOCATION),
SERVICE_NAME);
}
/**
* Gets the IRegistryRequestService port
*
* @return The IRegistryRequestService port
*/
public IRegistryRequestService getService() {
return super.getPort(IRegistryRequestService.class);
}
}

View file

@ -0,0 +1,18 @@
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext id="server-camel"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<endpoint id="ebxmlThriftService" uri="jetty:http://0.0.0.0:${EBXML_THRIFT_SERVICE_PORT}/services/thrift?disableStreamCache=true&amp;chunked=false&amp;httpBindingRef=#binaryHttpBinding" />
<route id="thriftService">
<from ref="ebxmlThriftService" />
<bean ref="routeWrapper" method="executeThrift"/>
</route>
</camelContext>
</beans>

View file

@ -9,25 +9,12 @@
<property name="registry" ref="handlerRegistry"/>
</bean>
<bean id="routeWrapper" class="com.raytheon.uf.edex.auth.RemoteRequestRouteWrapper">
<bean id="routeWrapper" class="com.raytheon.uf.edex.registry.ebxml.RegistryRemoteRequestWrapper">
<property name="server" ref="serializeServer"/>
</bean>
<bean id="binaryHttpBinding" class="com.raytheon.uf.edex.esb.camel.http.BinaryHttpBinding"/>
<camelContext id="server-camel"
xmlns="http://camel.apache.org/schema/spring"
errorHandlerRef="errorHandler">
<endpoint id="ebxmlThriftService" uri="jetty:http://0.0.0.0:${EBXML_THRIFT_SERVICE_PORT}/services/thrift?disableStreamCache=true&amp;chunked=false&amp;httpBindingRef=#binaryHttpBinding" />
<route id="thriftService">
<from ref="ebxmlThriftService" />
<bean ref="routeWrapper" method="executeThrift"/>
</route>
</camelContext>
<bean factory-bean="handlerRegistry" factory-method="register">
<constructor-arg value="com.raytheon.uf.common.registry.IRegistryRequest"/>
<constructor-arg ref="edexRegistryManager"/>

View file

@ -0,0 +1,55 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.registry.ebxml;
import javax.jws.WebService;
import com.raytheon.uf.common.registry.IRegistryRequestService;
import com.raytheon.uf.edex.auth.RemoteRequestRouteWrapper;
/**
*
* Registry specific wrapper for the remote request router
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 5/3/2013 1948 bphillip Initial implementation
* </pre>
*
* @author bphillip
* @version 1
*/
@WebService(endpointInterface = "com.raytheon.uf.common.registry.IRegistryRequestService")
public class RegistryRemoteRequestWrapper extends RemoteRequestRouteWrapper
implements IRegistryRequestService {
public byte[] request(byte[] data) {
return executeThrift(data);
}
public byte[] executeThrift(byte[] data) {
return super.executeThrift(data);
}
}

View file

@ -18,12 +18,20 @@
<import resource="classpath:res/spring/ebxml-registry-dao.xml" />
<import resource="classpath:res/spring/ebxml-subscription.xml" />
<import resource="classpath:res/spring/ebxml-constants.xml" />
<import resource="classpath:res/spring/ebxml-thrift-client.xml" />
<import resource="classpath:res/spring/ebxml-xacml.xml" />
<import resource="classpath:res/spring/ebxml-impl.xml"/>
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:server id="RegistryRequest"
serviceClass="com.raytheon.uf.common.registry.IRegistryRequestService" address="/registryRequest">
<jaxws:serviceBean>
<ref bean="routeWrapper" />
</jaxws:serviceBean>
</jaxws:server>
<!-- SOAP Service definitions -->
<jaxws:server id="QueryService" address="/queryManager">
<jaxws:serviceBean>