Notes by Dr. Xi

Displaying keyword search results 1 - 10
Created by Dr. Xi on March 21, 2013 19:47:46    Last update: March 22, 2013 12:30:27
It's normal practice to import types from an external xsd file in WSDL like this: <wsdl:types> <xsd:schema xmlns:xsd="htt... When you use <dynamic-wsdl> and have Commons XMLSchema on the class path, Spring-WS inlines the xsd in the wsdl. But that doesn't happen when you use <static-wsdl> . You can define a SimpleXsdSchema bean to expose the xsd: <?xml version="1.0" encoding="UTF-8"?> <beans x... where the bean id "hello" should match the schemaLocation attribute in the WSDL (without the .xsd suffix). But note that the SimpleXsdSchema does not inline the xsd. It only makes the xsd available via an HTTP URL. Alternatively, you can simply put the xsd file under the content directory of the webapp (just link any CSS or JavaScript). Anyway, that's a lot of manual...
Created by Dr. Xi on March 21, 2013 20:29:14    Last update: March 22, 2013 08:58:08
Spring-WS documentation says you can use a Jaxb object as parameter or return type, provided that it is annotated with javax.xml.bind.annotation.XmlRootElement , or is an instance of javax.xml.bind.JAXBElement . But that's a lot easier said than done! For example, if sayHelloResponse is defined as: <xs:element name="sayHelloResponse" type="tns:sayH... then the JAXB generated class is not annotated with XmlRootElement , therefore, unusable for Spring-WS. You have to define the type as: <xs:element name="sayHelloResponse"> <xs:compl... in order to generate a type annotated with XmlRootElement . But that is not always possible. Alternatively, you can use the Maven plugin maven-jaxb2-plugin with the jaxb2-basics-annotate plugin (yes, plugin inside plugin) to inject the XmlRootElement annotation into the generated JAXB class. This is the pom: <project xmlns="http://maven.apache.org/POM/4.0.0"... and the binding file: <?xml version="1.0" encoding="UTF-8" standalone="y......
Created by Dr. Xi on March 07, 2013 20:26:23    Last update: March 07, 2013 20:26:23
Create a jax-ws web service with Spring, Apache CXF and Maven. Create the pom.xml : <project xmlns="http://maven.apache.org/POM/4.0.0"... Create the web service interface ( src/main/java/jaxws/JaxwsHello.java ): package jaxws; import javax.jws.WebService;... Implement the web service ( src/main/java/jaxws/JaxwsHelloImpl.java ): package jaxws; import javax.jws.WebService;... Create src/main/webapp/WEB-INF/cxf-servlet.xml : <?xml version="1.0" encoding="UTF-8"?> <beans x... Register the CXF servlet in src/main/webapp/WEB-INF/web.xml : <?xml version="1.0" encoding="UTF-8"?> <web-app... Build: mvn package The resulting WAR file can be deployed to any servlet container (for example, Tomcat).
Created by Dr. Xi on February 23, 2012 14:07:40    Last update: June 25, 2012 13:40:44
The command " svn info " prints information about the current directory: $ svn info Path: . URL: http://svn.example.c... where: Revision: is the last syncup (update) revision of the current TARGET (artifact/file/directory, whatever you call). This number bumps up to that of the current project revision number after you do an update. Last Changed Rev: is the revision number of the latest change for the current TARGET . If TARGET is a directory, it is the revision number of the latest change within the directory, including all subdirectories. However , this number is not accurate after you do a check in without a following update . The revision number for the file or directory you checked in will have higher revision number than its parent/ancestor....
Created by Dr. Xi on April 19, 2012 10:10:08    Last update: April 19, 2012 10:11:06
The default servlet for Tomcat is declared in $CATALINA_HOME/conf/web.xml : <servlet> <servlet-name>default</servle... Therefore, static content is rendered by the default configuration unless you override it with your own definitions. If you want to allow directory listing, just change the listing parameter to true : <init-param> <param-name>listings</para... Change the welcome-file-list to display a default page in lieu of a directory listing: <welcome-file-list> <welcome-file>home.xhtml</... Welcome pages are defined at the Web application level.
Created by Dr. Xi on March 01, 2012 10:17:51    Last update: March 01, 2012 10:17:51
svn does not automatically substitute keywords like $Id$ . To enable keyword substitution, you have to enable it with propset : $ svn propset svn:keywords "Id" README.txt To enable keyword substitution for all files: $ svn propset -R svn:keywords "Id" . The above examples enabled substitution for $Id$ only. Each keyword must be explicitly listed to be substituted. The keywords recognized by svn are: svn:keywords - Keywords to be expanded. Val... To list properties on a file: $ svn proplist README.txt Properties on 'README... To see the svn:keywords for a file: $ svn propget svn:keywords README.txt Id
Created by Dr. Xi on June 16, 2011 14:23:44    Last update: June 16, 2011 14:25:04
This example shows how a service implementation can be loaded with a URLClassLoader . The files. HelloService.java : public interface HelloService { public void... HelloServiceImpl.java : public class HelloServiceImpl implements HelloServ... ServiceFactory.java uses URLClassLoader to load the service implementation: import java.io.*; import java.net.*; pub... Test.java : import java.io.*; import java.net.*; pub... Create a runnable client jar: C:\>jar -cfe client.jar Test Test.class ServiceFac... Create a service jar: jar -cf service.jar HelloServiceImpl.class Test: C:\>java -jar client.jar Class Loader: java.net... Extra Note: : JDK7 added a method URLClassLoader.close() , so that a URLClassLoader can be discarded, and a new one created to load a new implementation.
Created by Dr. Xi on June 16, 2011 13:51:53    Last update: June 16, 2011 14:02:10
With an absolute path to a file, this is the way to construct a URL : URL url = new URL("file:///absolute/path/to/file.e... What if I want a URL for a file relative to the current working directory? URL url = new URL("file:///./file.ext"); // this ... Or, you can use the File class to help you out: URL url = new URL(String.format("file:///%s/file.e...
Created by Dr. Xi on April 26, 2011 21:25:55    Last update: April 27, 2011 11:08:57
The following code validates a web.xml file against the web-app 2.5 schema: // Java XML validation with schema import java.... web.xml used for testing: <?xml version="1.0" encoding="UTF-8"?> <web-ap... According to Java API doc , validation can also be done while parsing by calling setSchema on the parsing factory. However, validation doesn't work for the SAXParserFactory! // Java XML validation with schema import java....
Created by Dr. Xi on April 01, 2011 12:59:10    Last update: April 04, 2011 14:14:17
To configure Tomcat HTTP Basic Authentication with SSL: Configure web app for basic authentication (add these in web.xml ): <security-constraint> <web-resource-collec... Three elements are needed for this to work: security-constraint with the url-pattern to protect, login-config for the type of authentication method to use, and security-role for the role name(s) used in the security-constraint . Add login info to conf/tomcat-users.xml : <tomcat-users> <role rolename="testUserRole... Turn on SSL in conf/server.xml : <Connector port="8443" protocol="HTTP/1.1" SSLEnab... For default keystore file ${user.home}/.keystore , the keystoreFile attribute can be omitted. Otherwise, add keystoreFile="/path/to/keystore/file" . The setup is different if you are using APR .
Previous  1 2 Next