Dear Tammo, I always get this exception:
Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/axiom/om/impl/AbstractOMMetaFactory I searched on the web but I could not solve the problem. I imported all necessary jars in my project but it seems that at run time it cannot find them. Best, Marzie On Sun, Feb 1, 2015 at 2:42 PM, Tammo van Lessen <[email protected]> wrote: > Hi Marzie, > > what exception do you get? Without that information is difficult to help. > > Best, > Tammo > > On Sun, Feb 1, 2015 at 8:02 AM, Marzie Dehghanipour < > [email protected]> wrote: > > > Hi, > > Yes I checked it. I also have implemented some codes that use the > > deployment service but it has exception and I worked the whole week but I > > could not solve the problem. > > > > I have basically two classes: deploymentconnection.java > > > > import java.io.ByteArrayOutputStream; > > import java.io.File; > > import java.io.FileInputStream; > > import java.io.FileNotFoundException; > > import java.io.IOException; > > import java.io.InputStream; > > > > import org.apache.axiom.om.OMAbstractFactory; > > import org.apache.axiom.om.OMElement; > > import org.apache.axiom.om.OMFactory; > > import org.apache.axiom.om.OMNamespace; > > import org.apache.axiom.om.OMText; > > import org.apache.axiom.om.util.Base64; > > import org.apache.axis2.AxisFault; > > import org.apache.ode.axis2.service.ServiceClientUtil; > > import org.apache.ode.utils.Namespaces; > > > > public class DeploymentConnection { > > private final String _url; > > private OMFactory _factory; > > private ServiceClientUtil _client; > > private final OMNamespace _pmapi; > > > > public DeploymentConnection(String url) { > > _url = url; > > _factory = OMAbstractFactory.getOMFactory(); > > _client = new ServiceClientUtil(); > > _pmapi = _factory.createOMNamespace(" > > http://www.apache.org/ode/pmapi", > > "pmapi"); > > } > > > > public void deploy(File archive, String name) throws > > FileNotFoundException, IOException { > > > > // Use the factory to create three elements > > OMElement root = _factory.createOMElement("deploy", _pmapi); > > OMElement namePart = _factory.createOMElement("name", null); > > namePart.setText(name); > > OMElement zipPart = _factory.createOMElement("package", null); > > OMElement zipElmt = _factory.createOMElement("zip", null); > > > > InputStream is = new FileInputStream(archive.getPath()); > > ByteArrayOutputStream outputStream = new > > ByteArrayOutputStream((int) archive.length()); > > byte[] buffer = new byte[4096]; > > int len; > > while ((len = is.read(buffer)) >= 0) { > > outputStream.write(buffer, 0, len); > > } > > > > String base64Enc = Base64.encode(outputStream.toByteArray()); > > OMText zipContent = > > _factory.createOMText(base64Enc,"application/zip", true); > > root.addChild(namePart); > > root.addChild(zipPart); > > zipPart.addChild(zipElmt); > > zipElmt.addChild(zipContent); > > > > sendToDeployment(root); > > } > > > > public void undeploy(String packageName) throws IOException { > > // Prepare undeploy message > > OMNamespace pmapi = > > _factory.createOMNamespace(Namespaces.ODE_PMAPI,"deployapi"); > > OMElement root = _factory.createOMElement("undeploy", pmapi); > > OMElement part = _factory.createOMElement("packageName", null); > > part.setText(packageName); > > root.addChild(part); > > > > if (packageName != null) { > > part.setText(packageName); > > root.addChild(part); > > sendToDeployment(root); > > } > > } > > > > private OMElement sendToDeployment(OMElement msg) throws AxisFault { > > return _client.send(msg, this._url); > > } > > > > } > > > > > > and my main class which uses ServiceClientUtil class for sending the > > message to Axis2 for calling the deploy function. ServiceClientUtil is > the > > class which I found it on Github and this is an interface for making it > > easier to use the API : main.java > > > > > > import java.io.File; > > import java.io.FileNotFoundException; > > import java.io.IOException; > > import java.util.logging.Level; > > import java.util.logging.Logger; > > > > public class Main { > > public static void main(String[] args) throws FileNotFoundException { > > DeploymentConnection con = new DeploymentConnection(" > > http://localhost:8080/ode/processes/DeploymentService"); > > try { > > con.deploy(new File("C:\\temp\\DynPartner.zip"), > "DynPartner"); > > } catch (IOException ex) { > > //Logger.getLogger(Main.class.getName()).log(Level.SEVERE, > > null,ex); > > ex.printStackTrace(); > > }}} > > > > I do appreciate if someone can help me. It makes me crazy and I was > working > > the last 2 weeks on it. > > > > On Sun, Feb 1, 2015 at 4:15 AM, Sathwik B P <[email protected]> > wrote: > > > > > Did you check fileupload.jsp > > > > > > On Sat, Jan 31, 2015 at 8:19 PM, Marzie Dehghanipour < > > > [email protected]> wrote: > > > > > > > Dear Sathwik, > > > > > > > > Thanks a lot for your answer. I know already the concept. but I need > > some > > > > implementation sample. > > > > > > > > Thanks > > > > > > > > On Sat, Jan 31, 2015 at 2:29 PM, Sathwik B P <[email protected]> > > > wrote: > > > > > > > > > Hi Marzie, > > > > > > > > > > You basically need to read the process artifact (zip file) and > encode > > > it > > > > > with Base64 and use it as the payload contents for deploy operation > > of > > > > > Deployment Service. > > > > > > > > > > Have a look at fileupload.jsp under ODE webapp. > > > > > > > > > > regards, > > > > > sathwik > > > > > > > > > > On Sat, Jan 31, 2015 at 6:42 PM, Marzie Dehghanipour < > > > > > [email protected]> wrote: > > > > > > > > > > > Hi, > > > > > > I am looking for sample implementation of deploying a process on > > > Apache > > > > > ODE > > > > > > engine using deployment service API. I want to use the deployment > > API > > > > > > exposed by ODE. This allows for transferring deployment units > (zip > > > > files > > > > > > containing BPELs, WSDLs, DDs) via SOAP to ODE and starting the > > > > > deployment. > > > > > > > > > > > > Any help in this regard would be appreciated. > > > > > > > > > > > > > > > > > > > > > > > > -- > Tammo van Lessen - http://www.taval.de >
