[JBoss jBPM] - Re: Help: BPEL: Invoke external web service
by alex.guizarï¼ jboss.com
Invoking a web service deployed in a different host is no different than invoking one deployed in the local host. It is just a matter of referencing the remote WSDL document from your service catalog instead of referencing a local document.
That said, here is what I would do:
Save the external WSDL document locally.
At design time, the BPEL process is only concerned with the messages and port types of partner services. So I remove the binding and service elements from my *local* WSDL, and reference it from bpel-definition.xml
I package the BPEL process and my local WSDL document in the jBPM process archive.
Once I'm ready to deploy, the process will need the binding and service information to actually invoke the service. So I reference the external WSDL document from bpel-application.xml.What is the point of this two-step approach? Well, it allows for building your process by contract. You can define your process in its entirety even before the partner services are deployed. You can test your process using local versions of the partner services. Once they become available, all you need to do is update your service catalog and you are done.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4020374#4020374
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4020374
19Â years, 2Â months
[JBoss Seam] - Entities Get Updated--Screen Doesn't (Usually)
by gzoller
I'm having a strange problem where particular entity changes are not (usually) being reflected on my screens. I start with a vanilla seam-gen application that generates these artifacts:
| DepartmentList.xhtml (main application screen)
| DepartmentList.page.xml
| ProjectList.xhmtl (List of Projects)
| ProjectList.page.xhtml
|
| Department.java (@Entity)
| DepartmentList.java (extends EntityQuery)
| DeparmentHome (extends EntityHome)
| Project.java (@Entity)
| ProjectList.java (extends EntityQuery)
| ProjectHome (extends EntityHome)
|
|
| Easiest way to show you where I'm going is to look at a picture of part of the DepartmentList screen: http://sawdust.50webs.com/images/spurs_display.jpg
| (No comments on the artwork please--I'm a server-side guy! I'll let the UI pros do what they do best.)
| You'll see departments with a sub-listing of projects for ea. dept.
|
| You see the "tape recorder" buttons? They change the status on Projects (update the entity). When I push these buttons the Project entities actually are correctly persisted to the database but no changes appear on the DisplayList screen. :-( Reloading the screen or visiting most other screens has no effect--the db and the screen are still out-of-sync.
|
| Here's the weird part: If I first go to the ProjectList.xhtml screen (not touching anything there--just let it render) then immediately go back to DepartmentList.xhtml then click on a tape-recorder button for one click only the on-screen status changes immediately as desired. Subsequent clicks continue to change the persisted Project status but no screen changes occur unless I again visit ProjectList.xhtml. Huh?
|
| This is hard to diagnose w/o seeing all the code, but I didn't want to dump reams of useless code into the forum. I'll post a chunk of ProjectList.xhtml since there seems to be some "magic" in simply visiting this page. If other files would be helpful let me know and I'll post them.
|
| When I click a tape-recorder button in DepartmentList.xhtml (<s:link> w/image) I pass the ProjectId as a <f:param>. A stateful session bean does an em.find() on the ProjectId to get the Project entity, simply calls proj.setStatus() and we're done. Nothing fancy. Somewhere, somehow--something in the UI is still holding onto a copy of the previous Project object.
|
| Thanks in advance for any advice/clues!
| Greg
|
| ProjectList.xhtml
|
| | <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
| | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| |
| | <ui:composition xmlns="http://www.w3.org/1999/xhtml"
| | xmlns:s="http://jboss.com/products/seam/taglib"
| | xmlns:ui="http://java.sun.com/jsf/facelets"
| | xmlns:f="http://java.sun.com/jsf/core"
| | xmlns:h="http://java.sun.com/jsf/html"
| | template="layout/template.xhtml">
| |
| | <ui:define name="body">
| |
| | <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
| | <div class="results" id="projectList">
| |
| | <h3>Projects</h3>
| |
| | <h:outputText value="No project exists"
| | rendered="#{empty projectList.resultList}"/>
| |
| | <h:dataTable id="projectList"
| | var="project"
| | value="#{projectList.resultList}"
| | rendered="#{not empty projectList.resultList}">
| | <h:column>
| | <f:facet name="header">
| | <s:link styleClass="columnHeader"
| | value="projectId #{projectList.order=='projectId asc' ? messages.down : ( projectList.order=='projectId desc' ? messages.up : '' )}">
| | <f:param name="order" value="#{projectList.order=='projectId asc' ? 'projectId desc' : 'projectId asc'}"/>
| | </s:link>
| | </f:facet>
| | #{project.projectId}
| | </h:column>
| | <h:column>
| | <f:facet name="header">
| | <s:link styleClass="columnHeader"
| | value="version #{projectList.order=='version asc' ? messages.down : ( projectList.order=='version desc' ? messages.up : '' )}">
| | <f:param name="order" value="#{projectList.order=='version asc' ? 'version desc' : 'version asc'}"/>
| | </s:link>
| | </f:facet>
| | #{project.version}
| | </h:column>
| | <h:column>
| | <f:facet name="header">
| | <s:link styleClass="columnHeader"
| | value="department deptId #{projectList.order=='department.deptId asc' ? messages.down : ( projectList.order=='department.deptId desc' ? messages.up : '' )}">
| | <f:param name="order" value="#{projectList.order=='department.deptId asc' ? 'department.deptId desc' : 'department.deptId asc'}"/>
| | </s:link>
| | </f:facet>
| | #{project.department.deptId}
| | </h:column>
| |
| | <!-- CLIP! Lots more like this to draw out the rest of Project's fields -->
| | </h:dataTable>
| |
| | </div>
| |
| | <div class="tableControl">
| |
| | <s:link view="/ProjectList.xhtml"
| | rendered="#{projectList.previousExists}"
| | value="#{messages.left}#{messages.left} First Page"
| | id="firstPage">
| | <f:param name="firstResult" value="0"/>
| | </s:link>
| |
| | <s:link view="/ProjectList.xhtml"
| | rendered="#{projectList.previousExists}"
| | value="#{messages.left} Previous Page"
| | id="previousPage">
| | <f:param name="firstResult"
| | value="#{projectList.previousFirstResult}"/>
| | </s:link>
| |
| | <s:link view="/ProjectList.xhtml"
| | rendered="#{projectList.nextExists}"
| | value="Next Page #{messages.right}"
| | id="nextPage">
| | <f:param name="firstResult"
| | value="#{projectList.nextFirstResult}"/>
| | </s:link>
| |
| | <s:link view="/ProjectList.xhtml"
| | rendered="#{projectList.nextExists}"
| | value="Last Page #{messages.right}#{messages.right}"
| | id="lastPage">
| | <f:param name="firstResult"
| | value="#{projectList.lastFirstResult}"/>
| | </s:link>
| |
| | </div>
| |
| | <s:div styleClass="actionButtons" rendered="#{empty from}">
| | <s:button view="/ProjectEdit.xhtml"
| | id="create"
| | value="Create project">
| | <f:param name="projectProjectId"/>
| | </s:button>
| | </s:div>
| |
| | </ui:define>
| |
| | </ui:composition>
| |
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4020353#4020353
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4020353
19Â years, 2Â months