SQL Constraints List
Find SQL constraint:
SELECT *
FROM all_constraints
where CONSTRAINT_NAME LIKE 'ConstraintName'
Find SQL constraint:
SELECT *
FROM all_constraints
where CONSTRAINT_NAME LIKE 'ConstraintName'
Deploying JAX-WS web service created with Netbeans to Weblogic server is not easy…opposite it’s getting harder and harder with every new version of Netbeans. I believe the main problem is that Netbeans does not create all the artifacts needed by Weblogic server – there are at least two things missing:
- classes representing request and response web service messages
- WSDL and schemas
Another problem is that we need to override default implementation of JAX-WS that comes with Weblogic Server (if we want to use latest JAX-WS RI implementation – e.g. JAX-WS 2.2).
So, here is the tutorial based on these two posts http://forums.java.net/jive/thread.jspa?messageID=375626 and http://forums.sun.com/thread.jspa?threadID=5419678.
1. Create WebApplication Project:
- Choose BEA Weblogic Server as target server (with JAVA EE 5)
2. Create New WebService (e.g HelloWorld in package test)
- Add simple helloWorld method that returns String
3. Check web.xml – there should be listener and servlet for HelloWorld service:
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
4. We have to modify the build.xml to include a "-pre-dist" target that invokes the wsgen Ant task:
<project name="JaxWsRI" default="default" basedir=".">
<description>Builds, tests, and runs the project JaxWsRI.</description>
<import file="nbproject/build-impl.xml"/>
<target name="-pre-dist">
<taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
<classpath path="${javac.classpath}:${j2ee.platform.classpath}"/>
</taskdef>
<wsgen
debug="true"
keep="true"
destdir="build/web/WEB-INF/classes"
resourcedestdir="build/web/WEB-INF/classes"
xendorsed="true"
sei="test.HelloWorld">
<classpath>
<pathelement path="${javac.classpath}:${j2ee.platform.classpath}"/>
<pathelement location="${java.home}/../lib/tools.jar"/>
<pathelement location="build/web/WEB-INF/classes"/>
</classpath>
</wsgen>
</target>
5. We also need WSDL and XSD files for web service
- Create new folder named wsdl in WEB-INF folder
- Right click HelloWorld web service under WebServices and select generate and copy WSDL… (choose wsdl folder created in first step)
6. Under project libraries deselect option to deploy Metro libraries.
7. Create new JAVA EE Enterprise Application (Select BEA Weblogic Server and Java EE and deselect any checkboxes for creating modules)
8. Add WebApplication with HelloWorld WS as JavaEE Module
9. Configure project packaging (project properties à build à packaging)
- Add Metro 2.0 Library
- Change Metro 2.0 location in archive to /APP-INF/lib
10. Modify weblogic-application.xml:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<application-param>
<param-name>webapp.encoding.default</param-name>
<param-value>UTF-8</param-value>
</application-param>
<prefer-application-packages>
<package-name>com.ctc.*</package-name>
<package-name>com.sun.xml.*</package-name>
<package-name>com.sun.istack.*</package-name>
<package-name>com.sun.msv.datatype.*</package-name>
<package-name>com.sun.msv.driver.*</package-name>
<package-name>com.sun.msv.grammar.*</package-name>
<package-name>com.sun.msv.reader.*</package-name>
<package-name>com.sun.msv.relaxns.*</package-name>
<package-name>com.sun.msv.scanner.*</package-name>
<package-name>com.sun.msv.util.*</package-name>
<package-name>com.sun.msv.verifier.*</package-name>
<package-name>com.sun.msv.writer.*</package-name>
<package-name>com.sun.org.apache.xml.internal.*</package-name>
<package-name>com.sun.wsit.*</package-name>
<package-name>javax.jws.*</package-name>
<package-name>javax.xml.bind.*</package-name>
<package-name>javax.xml.soap.*</package-name>
<package-name>javax.xml.stream.*</package-name>
<package-name>javax.xml.ws.*</package-name>
<package-name>javax.xml.activation.*</package-name>
<package-name>javax.xml.annotation.*</package-name>
<package-name>javax.xml.mail.*</package-name>
<package-name>javax.xml.security.*</package-name>
<package-name>javax.xml.registry.*</package-name>
<package-name>javax.xml.rpc.*</package-name>
<package-name>javax.xml.crypto.*</package-name>
<package-name>javanet.staxutils.*</package-name>
<package-name>jp.gr.xml.*</package-name>
<package-name>org.codehaus.stax2.*</package-name>
<package-name>org.glassfish.gmbal.*</package-name>
<package-name>org.iso_relax.*</package-name>
<package-name>org.jcp.xml.dsig.*</package-name>
<package-name>org.jvnet.*</package-name>
<package-name>org.relaxng.*</package-name>
</prefer-application-packages>
</weblogic-application>
11. Add standard deployment descriptor (application.xml):
<application version="5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd">
<display-name>JaxWSRiEA</display-name>
<module>
<web>
<web-uri>WebAlplication.war</web-uri>
<context-root>/WebAlplication</context-root>
</web>
</module>
</application>
Something that I'll have to deal with in clustered production enviroment. :-S
http://www.mail-archive.com/ejb-interest@java.sun.com/msg08964.html
IE's DOM methods getElementsByName and getElementById are not implemented properly.
So document.getElementsByName returns 0 if you don't have attribute id with same value as in attribute name.
Because creating web service client proxy object can be expensive, in my applications I want to reuse proxy objects. I was wondering if I can safely reuse in multiple threads. After asking uncle Google it seems, that it is not specification requirement that use of proxy objects is thread safe, but in JAX-WS RI, once proxy is created, it can be used across threads(as long as you don't change RequestContext in each thread) (by jitu).
http://forums.java.net/jive/thread.jspa?messageID=328378񐊺
http://forums.java.net/jive/thread.jspa?threadID=18756
http://markmail.org/message/gab5mztq33omeynf
I've checked this with simple application and it's true - using classes from JDK 1.6 I get an exception:
javax.xml.ws.soap.SOAPFaultException: Couldn't create SOAP message due to exception: XML reader error: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2]
Message: The markup in the document preceding the root element must be well-formed.
If I run same code with JAX-WS RI classes it works fine.