Hi Marzie, if that exception occurs, it is very unlikely that it is related to any ODE code. I'm afraid you need to resolve any classpath issues first. Have you checked if you included the correct version of Axiom (axiom-common-impl or axiom-impl)? How do you call the main class? Do you use Maven? Eclipse?
Best, Tammo On Mon, Feb 2, 2015 at 2:12 PM, Marzie Dehghanipour < [email protected]> wrote: > 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 > > > -- Tammo van Lessen - http://www.taval.de
