02-10-2010 01:33 AM
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.message.SOAPHeaderElement;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.ws.security.message.token.UsernameToken;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.message.WSSecHeader;
import org.apache.ws.security.util.WSSecurityUtil;
import org.w3c.dom.Document;
import org.apache.ws.security.message.token.Timestamp;
public class CMISTest {
public static void main(String [] args) {
try {
String endpoint = "http://localhost:8080/alfresco/cmis/RepositoryService";
String repID = "46f8b242-9f61-423b-b824-c6118f470f01";
Service serv = new Service();
Call call = (Call) serv.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://www.cmis.org/2008/05", "getTypeChildren"));
call.addParameter( "id",new QName("http://www.w3.org/2001/XMLSchema','string"),ParameterMode.IN);
call.setReturnType( new QName("http://www.w3.org/2001/XMLSchema','string"));
//call.setUsername("admin");
//call.setPassword("admin");
SOAPEnvelope se = new SOAPEnvelope(); // dummy envelope to create Header
Document doc = se.getAsDocument();
WSSecHeader secHeader = new WSSecHeader();
secHeader.setMustUnderstand(true);
secHeader.insertSecurityHeader(doc);
UsernameToken username = new UsernameToken(Boolean.TRUE,doc,WSConstants.PASSWORD_TEXT);
username.setName("admin");
username.setPassword("admin");
Timestamp ts = new Timestamp(true, doc,900000);
WSSecurityUtil.prependChildElement(doc, secHeader.getSecurityHeader(), username.getElement(), true);
WSSecurityUtil.prependChildElement(doc, secHeader.getSecurityHeader(), ts.getElement(), true);
SOAPHeaderElement she = new SOAPHeaderElement(secHeader.getSecurityHeader());
call.addHeader(she);
String ret = (String) call.invoke(new Object[] {repID});
System.out.println(ret);
} catch (Exception e) {
e.printStackTrace();
}
}
}
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: Invalid repository id
faultActor:
faultNode:
faultDetail:
{http://docs.oasis-open.org/ns/cmis/messaging/200908/}cmisFault:<type>i
validArgument</type>0<message>Invalid repository id</message>
Invalid repository id
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilde
.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder
java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(Deseriali
ationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Sourc
)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unkno
n Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentConten
Dispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(U
known Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Sou
ce)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(Deserializatio
Context.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnder
tandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at CMISTest.main(CMISTest.java:50)
02-22-2010 10:15 AM
02-24-2010 06:56 AM
package CMIS;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.description.OperationDesc;
import org.apache.axis.description.ParameterDesc;
import org.apache.axis.encoding.ser.ArrayDeserializerFactory;
import org.apache.axis.encoding.ser.ArraySerializerFactory;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.message.SOAPHeader;
import org.apache.axis.message.SOAPHeaderElement;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.ws.security.message.token.UsernameToken;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.message.WSSecHeader;
import org.apache.ws.security.util.WSSecurityUtil;
import org.oasis_open.docs.ns.cmis.messaging._200908.CmisRepositoryEntryType;
import org.w3c.dom.Document;
import org.apache.ws.security.message.token.Timestamp;
public class CMISTest {
public static void main(String [] args) {
try {
String endpoint = "http://localhost:8080/alfresco/cmis/RepositoryService";
Service serv = new Service();
Call call = null;
try {
call = (Call) serv.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
} catch (ServiceException e) {
System.err.println("Servic call create error");
} catch (MalformedURLException e) {
System.err.println("Malformed url");
}
ParameterDesc param;
OperationDesc oper = new OperationDesc();
oper.setName("getRepositories");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", "getRepositories"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", ">getRepositories"));
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", ">getRepositoriesResponse"));
oper.setReturnClass(CmisRepositoryEntryType[].class);
oper.setReturnQName(new javax.xml.namespace.QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", "getRepositoriesResponse"));
param = oper.getReturnParamDesc();
param.setItemQName(new javax.xml.namespace.QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", "repositories"));
oper.setStyle(org.apache.axis.constants.Style.DOCUMENT);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
call.setOperationName(new javax.xml.namespace.QName("", "getRepositories"));
call.setOperation(oper);
QName qName = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", ">getRepositoriesResponse");
call.registerTypeMapping(CmisRepositoryEntryType[].class, qName, ArraySerializerFactory.class, ArrayDeserializerFactory.class);
qName = new javax.xml.namespace.QName("http://docs.oasis-open.org/ns/cmis/messaging/200908/", "cmisRepositoryEntryType");
call.registerTypeMapping(CmisRepositoryEntryType.class, qName, BeanSerializerFactory.class, BeanDeserializerFactory.class);
SOAPEnvelope se = new SOAPEnvelope(); // dummy envelope to create Header
Document doc = null;
try {
doc = se.getAsDocument();
} catch (Exception e) {
System.err.println("Exception caught while getting the doc");
}
WSSecHeader secHeader = new WSSecHeader();
secHeader.setMustUnderstand(true);
secHeader.insertSecurityHeader(doc);
UsernameToken username = new UsernameToken(Boolean.TRUE, doc,
WSConstants.PASSWORD_TEXT);
username.setName("admin");
username.setPassword("admin");
Timestamp ts = new Timestamp(true, doc, 300);
WSSecurityUtil.prependChildElement(doc, secHeader.getSecurityHeader(),
username.getElement(), false);
WSSecurityUtil.prependChildElement(doc, secHeader.getSecurityHeader(),
ts.getElement(), false);
SOAPHeaderElement she = new SOAPHeaderElement(secHeader.getSecurityHeader());
call.addHeader(she);
try {
CmisRepositoryEntryType[] ret = null;
try
{
ret = (CmisRepositoryEntryType[]) call.invoke(new Object[] { null });
}
catch (Exception e)
{
System.out.println("Inside remote");
System.err.println("Remote exception : " + e.getMessage());
}
for (CmisRepositoryEntryType repository : ret)
{
System.out.println("Repository [Name=" + repository.getRepositoryName() + ", id=" + repository.getRepositoryId() + "]");
}
} catch (Exception e) {
System.out.println("Inside remote");
System.err.println("Remote exception : " + e.getMessage());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
02-25-2010 01:38 PM
03-04-2010 07:27 AM
03-04-2010 07:51 AM
03-04-2010 05:05 PM
03-05-2010 12:52 AM
<!–
~ 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.
–>
<axisconfig name="AxisJava2.0">
<module ref="rampart" />
<parameter name="OutflowSecurity">
<action>
<items>UsernameToken Timestamp</items>
<user>admin</user>
<passwordCallbackClass>cmis.PWCBHandler</passwordCallbackClass>
<passwordType>PasswordText</passwordType>
</action>
</parameter>
<!– ================================================= –>
<!– Parameters –>
<!– ================================================= –>
<parameter name="hotdeployment">true</parameter>
<parameter name="hotupdate">false</parameter>
<parameter name="enableMTOM">false</parameter>
<parameter name="enableSwA">false</parameter>
<!–Uncomment if you want to enable file caching for attachments –>
<!–parameter name="cacheAttachments">true</parameter>
<parameter name="attachmentDIR"></parameter>
<parameter name="sizeThreshold">4000</parameter–>
<!–Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions –>
<!–In some server environments, the available memory heap is limited and can fill up under load –>
<!–Since in-memory copies of WSDL definitions can be large, some steps can be taken–>
<!–to reduce the memory needed for the cached WSDL definitions. –>
<!–parameter name="reduceWSDLMemoryCache">true</parameter–>
<!–This will give out the timout of the configuration contexts, in milliseconds–>
<parameter name="ConfigContextTimeoutInterval">30000</parameter>
<!–During a fault, stack trace can be sent with the fault message. The following flag will control –>
<!–that behavior.–>
<parameter name="sendStacktraceDetailsWithFaults">false</parameter>
<!–If there aren't any information available to find out the fault reason, we set the message of the exception–>
<!–as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be –>
<!–wrapped by different levels. Due to this the initial exception message can be lost. If this flag–>
<!–is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.–>
<parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
<parameter name="userName">admin</parameter>
<parameter name="password">axis2</parameter>
<!–To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.–>
<!–ServicesDirectory only works on the following cases–>
<!—File based configurator and in that case the value should be a file URL (http:// not allowed)–>
<!—When creating URL Based configurator with URL “file://†–>
<!— War based configurator with expanded case , –>
<!–All the other scenarios it will be ignored.–>
<!–<parameter name="ServicesDirectory">service</parameter>–>
<!–To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path–>
<!–<parameter name="ModulesDirectory">modules</parameter>–>
<!–Following params will set the proper context paths for invocations. All the endpoints will have a commons context–>
<!–root which can configured using the following contextRoot parameter–>
<!–<parameter name="contextRoot">axis2</parameter>–>
<!–Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints–>
<!–In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this –>
<!–context path to proper Axis2 servlets–>
<!–<parameter name="servicePath">services</parameter>–>
<!–<parameter name="restPath">rest</parameter>–>
<!– Following parameter will completely disable REST handling in Axis2–>
<parameter name="disableREST" locked="true">false</parameter>
<!– Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files –>
<parameter name="disableSOAP12" locked="true">false</parameter>
<!–POJO deployer , this will alow users to drop .class file and make that into a service–>
<deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
<!–<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>–>
<!– Following parameter will set the host name for the epr–>
<!–<parameter name="hostname" locked="true">myhost.com</parameter>–>
<!– If you have a front end host which exposes this webservice using a different public URL –>
<!– use this parameter to override autodetected url –>
<!–<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>–>
<!– The way of adding listener to the system–>
<!– <listener class="org.apache.axis2.ObserverIMPL">–>
<!– <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>–>
<!– </listener>–>
<!– ================================================= –>
<!– Message Receivers –>
<!– ================================================= –>
<!–This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for –>
<!–all the other MEP implement it and add the correct entry to here , so that you can refer from–>
<!–any operation –>
<!–Note : You can ovrride this for a particular service by adding the same element with your requirement–>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</messageReceivers>
<!– ================================================= –>
<!– Message Formatter –>
<!– ================================================= –>
<!–Following content type to message formatter mapping can be used to implement support for different message –>
<!–format serialization in Axis2. These message formats are expected to be resolved based on the content type. –>
<messageFormatters>
<messageFormatter contentType="application/x-www-form-urlencoded"
class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
<messageFormatter contentType="multipart/form-data"
class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
<messageFormatter contentType="application/xml"
class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
<messageFormatter contentType="text/xml"
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
<messageFormatter contentType="application/soap+xml"
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
</messageFormatters>
<!– ================================================= –>
<!– Message Builders –>
<!– ================================================= –>
<!–Following content type to builder mapping can be used to implement support for different message –>
<!–formats in Axis2. These message formats are expected to be resolved based on the content type. –>
<messageBuilders>
<messageBuilder contentType="application/xml"
class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
<messageBuilder contentType="application/xml"
class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
<messageBuilder contentType="application/x-www-form-urlencoded"
class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
<messageBuilder contentType="multipart/form-data"
class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
</messageBuilders>
<!– ================================================= –>
<!– Transport Ins –>
<!– ================================================= –>
<transportReceiver name="http"
class="org.apache.axis2.transport.http.SimpleHTTPServer">
<parameter name="port">8080</parameter>
<!– Here is the complete list of supported parameters (see example settings further below):
port: the port to listen on (default 6060)
hostname: if non-null, url prefix used in reply-to endpoint references (default null)
originServer: value of http Server header in outgoing messages (default "Simple-Server/1.1")
requestTimeout: value in millis of time that requests can wait for data (default 20000)
requestTcpNoDelay: true to maximize performance and minimize latency (default true)
false to minimize bandwidth consumption by combining segments
requestCoreThreadPoolSize: number of threads available for request processing (unless queue fills up) (default 25)
requestMaxThreadPoolSize: number of threads available for request processing if queue fills up (default 150)
note that default queue never fills up: see HttpFactory
threadKeepAliveTime: time to keep threads in excess of core size alive while inactive (default 180)
note that no such threads can exist with default unbounded request queue
threadKeepAliveTimeUnit: TimeUnit of value in threadKeepAliveTime (default SECONDS) (default SECONDS)
–>
<!– <parameter name="hostname">http://www.myApp.com/ws</parameter> –>
<!– <parameter name="originServer">My-Server/1.1</parameter> –>
<!– <parameter name="requestTimeout">10000</parameter> –>
<!– <parameter name="requestTcpNoDelay">false</parameter> –>
<!– <parameter name="requestCoreThreadPoolSize">50</parameter> –>
<!– <parameter name="RequestMaxThreadPoolSize">100</parameter> –>
<!– <parameter name="threadKeepAliveTime">240000</parameter> –>
<!– <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter> –>
</transportReceiver>
<!–Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="myTopicConnectionFactory">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
</parameter>
<parameter name="myQueueConnectionFactory">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
</parameter>
<parameter name="default">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
</parameter>
</transportReceiver>–>
<!– ================================================= –>
<!– Non-blocking http/s Transport Listener –>
<!– the non blocking http transport based on HttpCore + NIO extensions
<transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
<parameter name="port" locked="false">9000</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
</transportReceiver>–>
<!– the non blocking https transport based on HttpCore + SSL-NIO extensions
<transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
<parameter name="port" locked="false">9002</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="keystore" locked="false">
<KeyStore>
<Location>identity.jks</Location>
<Type>JKS</Type>
<Password>password</Password>
<KeyPassword>password</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>trust.jks</Location>
<Type>JKS</Type>
<Password>password</Password>
</TrustStore>
</parameter>–>
<!–<parameter name="SSLVerifyClient">require</parameter>
supports optional|require or defaults to none –>
<!–</transportReceiver>–>
<!– ================================================= –>
<!– Mail Transport Listener –>
<!– This is a sample configuration. It assumes a mail server running in localhost.
Listener pops messages that comes to the email address red@localhost. Users
password is red. Listener connect to the server every 3000 milliseconds.
Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API.
http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
–>
<!– ================================================= –>
<!–<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
<parameter name="mail.pop3.host">localhost</parameter>
<parameter name="mail.pop3.user">red</parameter>
<parameter name="mail.store.protocol">pop3</parameter>
<parameter name="transport.mail.pop3.password">red</parameter>
<parameter name="transport.mail.replyToAddress">red@localhost</parameter>
<parameter name="transport.listener.interval">3000</parameter>
</transportReceiver>–>
<!–Uncomment if you want to have TCP transport support–>
<!–transportReceiver name="tcp"
class="org.apache.axis2.transport.tcp.TCPServer">
<parameter name="port">6060</parameter–>>
<!–If you want to give your own host address for EPR generation–>
<!–uncomment the following paramter , and set it as you required.–>
<!–<parameter name="hostname">tcp://myApp.com/ws</parameter>–>
<!– /transportReceiver –>
<!– ================================================= –>
<!– Transport Outs –>
<!– ================================================= –>
<!– transportSender name="tcp"
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
<transportSender name="local"
class="org.apache.axis2.transport.local.LocalTransportSender"/ –>
<transportSender name="http"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
<!– If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages –>
<!– <parameter name="OmitSOAP12Action">true</parameter> –>
</transportSender>
<transportSender name="https"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
<transportSender name="java"
class="org.apache.axis2.transport.java.JavaTransportSender"/>
<!–<transportSender name="jms"–>
<!–class="org.apache.axis2.transport.jms.JMSSender"/>–>
<!– ================================================= –>
<!– Non-blocking http/s Transport Sender –>
<!– the non-blocking http transport sender based on HttpCore + NIO extensions
<transportSender name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
<parameter name="non-blocking" locked="false">true</parameter>
</transportSender>–>
<!– the non-blocking https transport sender based on HttpCore + NIO SSL extensions
<transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="keystore" locked="false">
<KeyStore>
<Location>identity.jks</Location>
<Type>JKS</Type>
<Password>password</Password>
<KeyPassword>password</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>trust.jks</Location>
<Type>JKS</Type>
<Password>password</Password>
</TrustStore>
</parameter>–>
<!–<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified –>
<!–</transportSender>–>
<!– ================================================= –>
<!– Mail Transport Sender –>
<!–Only need to uncomment the sender. Configuration is achieved with every client.
At any instant mail host should be given. Sample configuration has been given.
http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
–>
<!– ================================================= –>
<!–<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
<parameter name="mail.smtp.host">localhost</parameter>
</transportSender>–>
<!– ================================================= –>
<!– Global Modules –>
<!– ================================================= –>
<!– Comment this to disable Addressing –>
<module ref="addressing"/>
<!–Configuring module , providing parameters for modules whether they refer or not–>
<!–<moduleConfig name="addressing">–>
<!–<parameter name="addressingPara">N/A</parameter>–>
<!–</moduleConfig>–>
<!– ================================================= –>
<!– Clustering –>
<!– ================================================= –>
<!– Configure and uncomment following for preparing Axis2 to a clustered environment –>
<!–
<cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
<parameter name="param1">value1</parameter>
<parameter name="domain">apache.axis2.domain</parameter>
<parameter name="synchronizeAll">true</parameter>
<parameter name="maxRetries">10</parameter>
<configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
<listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
</configurationManager>
<contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
<listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
</contextManager>
</cluster>
–>
<!– ================================================= –>
<!– Phases –>
<!– ================================================= –>
<phaseOrder type="InFlow">
<!– System predefined phases –>
<phase name="Transport">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
<order phase="Transport"/>
</handler>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
<order phase="Transport"/>
</handler>
</phase>
<phase name="Addressing">
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
<order phase="Addressing"/>
</handler>
</phase>
<phase name="Security"/>
<phase name="PreDispatch"/>
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
<handler name="RequestURIOperationDispatcher"
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
<handler name="SOAPMessageBodyBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
<handler name="HTTPLocationBasedDispatcher"
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
</phase>
<phase name="RMPhase"/>
<!– System predefined phases –>
<!– After Postdispatch phase module author or service author can add any phase he want –>
<phase name="OperationInPhase"/>
<phase name="soapmonitorPhase"/>
</phaseOrder>
<phaseOrder type="OutFlow">
<!– user can add his own phases to this area –>
<phase name="soapmonitorPhase"/>
<phase name="OperationOutPhase"/>
<!–system predefined phase–>
<!–these phase will run irrespective of the service–>
<phase name="RMPhase"/>
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
<phase name="Security"/>
</phaseOrder>
<phaseOrder type="InFaultFlow">
<phase name="Addressing">
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
<order phase="Addressing"/>
</handler>
</phase>
<phase name="Security"/>
<phase name="PreDispatch"/>
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
<handler name="RequestURIOperationDispatcher"
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
<handler name="SOAPMessageBodyBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
<handler name="HTTPLocationBasedDispatcher"
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
</phase>
<phase name="RMPhase"/>
<!– user can add his own phases to this area –>
<phase name="OperationInFaultPhase"/>
<phase name="soapmonitorPhase"/>
</phaseOrder>
<phaseOrder type="OutFaultFlow">
<!– user can add his own phases to this area –>
<phase name="soapmonitorPhase"/>
<phase name="OperationOutFaultPhase"/>
<phase name="RMPhase"/>
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
<phase name="Security"/>
</phaseOrder>
</axisconfig>
D:\wsdl2java -uri http://AlfrescoServer:8080/alfresco/cmis/NavigationService?wsdl -u -d adb
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed 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 cmis;
import java.math.BigInteger;
import java.util.Iterator;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMText;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.axis2.databinding.types.xsd.QName;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisExtensionType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisObjectInFolderContainerType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisObjectInFolderType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisObjectType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisPropertiesType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisPropertiesTypeChoice_type0;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisPropertyString;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.EnumIncludeRelationships;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.GetFolderTree;
import com.sun.org.apache.bcel.internal.Constants;
public class NavigationClient {
public static void main(String[] args) throws Exception
{
ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("D:\\Softwares\\axis2-1.5.1-bin\\axis2-1.5.1\\repository","D:\\Softwares\\axis2-1.5.1-bin\\axis2-1.5.1\\repository\\modules\\client.axis2.xml");
NavigationServiceStub stub = new NavigationServiceStub(ctx, "http://localhost:8080/alfresco/cmis/NavigationService");
GetFolderTree ft = new NavigationServiceStub.GetFolderTree();
ft.setRepositoryId("46f8b242-9f61-423b-b824-c6118f470f01");
ft.setFolderId("workspace://SpacesStore/0fceb8de-fe45-439a-9ac4-30b32c7671e0");
ft.setDepth(BigInteger.TEN);
ft.setFilter("*");
ft.setRenditionFilter("*");
ft.setIncludeRelationships(EnumIncludeRelationships.source);
CmisExtensionType et = new CmisExtensionType();
ft.setExtension(et);
NavigationServiceStub.GetFolderTreeResponse res = stub.getFolderTree(ft);
CmisObjectInFolderContainerType[] fc = res.getObjects();
System.out.println("Total Folders : " + fc.length);
System.out.println("————————————————–");
for(int i=0;i<fc.length;i++)
{
CmisObjectInFolderType of = fc[i].getObjectInFolder();
CmisObjectType ot = of.getObject();
CmisPropertiesType pt = ot.getProperties();
OMElement[] oe = pt.getExtraElement();
for(int j=0;j<oe.length;j++)
{
Iterator ii = oe[j].getChildren();
Iterator fitr = oe[j].getAllAttributes();
while(fitr.hasNext())
{
OMAttribute oat = (OMAttribute)fitr.next();
System.out.println(oat.getAttributeValue());
//if(oat.getAttributeValue().equalsIgnoreCase("cmis:objectId"))
//{
while (ii.hasNext())
{
OMElement oa = (OMElement)ii.next();
Iterator fi = oa.getChildren();
while(fi.hasNext())
{
OMText oot = (OMText)fi.next();
System.out.println(" Value : "+oot.getText());
}
}
//}
}
}
System.out.println("——————————————");
}
}//end main
}//end class
03-08-2010 07:54 AM
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed 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 cmis;
import java.math.BigInteger;
import java.util.Iterator;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMText;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.axis2.databinding.types.xsd.QName;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisExtensionType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisObjectInFolderContainerType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisObjectInFolderType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisObjectType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisPropertiesType;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisPropertiesTypeChoice_type0;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.CmisPropertyString;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.EnumIncludeRelationships;
import org.oasis_open.docs.ns.cmis.ws._200908.NavigationServiceStub.GetFolderTree;
import com.sun.org.apache.bcel.internal.Constants;
public class NavigationClient {
public static void main(String[] args) throws Exception
{
ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("D:\\Softwares\\axis2-1.5.1-bin\\axis2-1.5.1\\repository","D:\\Softwares\\axis2-1.5.1-bin\\axis2-1.5.1\\repository\\modules\\client.axis2.xml");
NavigationServiceStub stub = new NavigationServiceStub(ctx, "http://localhost:8080/alfresco/cmis/NavigationService");
GetFolderTree ft = new NavigationServiceStub.GetFolderTree();
ft.setRepositoryId("46f8b242-9f61-423b-b824-c6118f470f01");
ft.setFolderId("workspace://SpacesStore/0fceb8de-fe45-439a-9ac4-30b32c7671e0");
ft.setDepth(BigInteger.TEN);
ft.setFilter("*");
ft.setRenditionFilter("*");
ft.setIncludeRelationships(EnumIncludeRelationships.source);
CmisExtensionType et = new CmisExtensionType();
ft.setExtension(et);
NavigationServiceStub.GetFolderTreeResponse res = stub.getFolderTree(ft);
CmisObjectInFolderContainerType[] fc = res.getObjects();
System.out.println("Total Folders : " + fc.length);
System.out.println("————————————————–");
for(int i=0;i<fc.length;i++)
{
CmisObjectInFolderType of = fc[i].getObjectInFolder();
CmisObjectType ot = of.getObject();
CmisPropertiesType pt = ot.getProperties();
OMElement[] oe = pt.getExtraElement();
for(int j=0;j<oe.length;j++)
{
Iterator ii = oe[j].getChildren();
Iterator fitr = oe[j].getAllAttributes();
while(fitr.hasNext())
{
OMAttribute oat = (OMAttribute)fitr.next();
System.out.println(oat.getAttributeValue());
//if(oat.getAttributeValue().equalsIgnoreCase("cmis:objectId"))
//{
while (ii.hasNext())
{
OMElement oa = (OMElement)ii.next();
Iterator fi = oa.getChildren();
while(fi.hasNext())
{
OMText oot = (OMText)fi.next();
System.out.println(" Value : "+oot.getText());
}
}
//}
}
}
System.out.println("——————————————");
}
}//end main
}//end class
03-18-2010 11:54 PM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.