询问:DELPHI和EJB通过SOAP传输(200分)

  • 主题发起人 主题发起人 cxreal
  • 开始时间 开始时间
C

cxreal

Unregistered / Unconfirmed
GUEST, unregistred user!
偶用客户端DELPHI,服务器端EJB
通过SOAP来传输,
那位达人能给我点复杂的例子
IBM网站上那个简单例子偶看过了
现在对EJB自定义的数据格式通过SOAP怎么让DELPHI接收和解析
还有服务器端和客户端从数据库提取数据后的封装和传输
请达人指教了,谢谢!

 
偶在服务端EJB返回一个简单数组,
客户端根据WSDL生成的
单元文件里定义了接口和类型,
可偶发现没接收到数组....
也请教一下
 
关注
你能确认EJB服务器发出了数据?

 
ejb和soap是兩個不同的東西,如果一定要扯到一塊去,只有用soap來連ejb,或者用ejb的東西來連soap,有點畫蛇添足的味道.在客戶端訪問會慢很多。
 
to:不能没有你
EJB服务器是发出数据的,DELPHI客户端是没有收到数据的 ......

to:springson
偶也不想啊,客户就是这样要求的,实在是没办法,现在偶就在学习SOAP

大家帮忙啊,要不偶就死在这里了 [?][?][?][?]

 
其實也比較簡單吧,在jbuilder9下對ejb的文件export webservice就行了,那麼就實現了soap對ejb的訪問了。對於ejb對soap,那就是ejb作為一個客戶端來調用soap就行了。對於實現起來可能還是有點難度的。
 
在我本地根据wsdl生成
QUERY = interface(IInvokable)
['{667B1D77-AE8B-67FF-2662-63F398D93566}']
function getRows(const parameters: getRows): getRowsResponse; stdcall;
procedure queryDataBase(const parameters: queryDataBase); stdcall;
function getCols(const parameters: getCols): getColsResponse; stdcall;
function getData(const parameters: getData): getDataResponse; stdcall;

我调用的时候
var
testbean:query;
temp_queryDataBase:queryDataBase;
begin
testbean:=httpRio1 as query;
temp_querydatabase:=querydatabase.Create;
testbean.querydatabase:=testbean.getRows(temp_queryDataBase);
错误提示“Received content of invalid content-Type setting:text/plain-SOAP expects "text/xml"”,请教是什么原因?
偶的querydatabse在服务端EJB里只是查询数据库的操作,不返回数据的
 
如果你的服務器是kylix的,你在客戶端還可以那樣試試,但問題是ejb有可能是jbuilder開發的,對於query的操作完全與delphi不同,所以testbean.querydatabase:=testbean.getRows(temp_queryDataBase);完全是不會成功的。
 
楼上的,虽然不好意思
但偶还是要说,是偶把URL写错了
现在调用成功了
 
調用成功了,可是會有正確結果嗎?我很想知道
 
有啊,查询后返回数据

可为什么EJB定义数组,服务端显示传出,
可我客户端的确是没有收到啊 谁能救偶
 
后退
顶部