天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
楼主: 武汉测绘

[已解决] 系统能否对外提供json接口或者xml接口

[复制链接]
 楼主| 武汉测绘 发表于 2013-10-10 15:41:12 | 显示全部楼层
回复 10# kimi


    我想读取一个视图的数据,根本就不知道怎么调用,也没有文档!给的示例也太简单。最好能给我个demo或者远程帮我调通吧.
   qq: 494669209
admin 发表于 2013-10-10 15:47:02 | 显示全部楼层
回复 5# 武汉测绘


    需要对一个数据表或者视图创建一个webserivce?是将对应的表单数据供第三方系统调用么?如果是,平台的接口文件已经有封装对应的方法呀,详细可参考帮助文档:MyApps-WebService-interface-explain-V2.5.doc。如果不是,请先描述具体需求,以便我们的技术同事为您提供解决方案,谢谢。
 楼主| 武汉测绘 发表于 2013-10-11 09:40:14 | 显示全部楼层
回复 12# admin

searchDocumentsByFilterFormat2Json

使用weibservice接口,返回错误信息,该应用ID
不存在
   
String id = "11e3-3185-48f84b5e-af27-65e01fe8c268";
request.addProperty("formName", "getData");  
request.addProperty("applicationId", id);  
String jsonStr="{}";
request.addProperty("jsonStr", jsonStr);  

这是我传的参数,而我用http://192.168.210.102:8090/obpm ... e-af27-65e01fe8c268这个是可以访问应用系统的,是不是哪里传错了
kimi 发表于 2013-10-11 09:51:39 | 显示全部楼层
您好:可否麻烦您把代码贴全呢?本地测试该方法写法类似如下:
String formName="基础资料表";
String jsonStr="{'t_资料编号':'1001'}";
String applicationId="11e2-3e7a-70eb30cd-9629-cfc8e6087787";  //软件id
String domainUserId="11e2-3dc6-5ef28ff9-9b44-8f5126fc2c07";  //用户id
String jsonString=dst.searchDocumentsByFilterFormat2Json(formName, jsonStr, applicationId, domainUserId);
 楼主| 武汉测绘 发表于 2013-10-11 10:05:23 | 显示全部楼层
7.25贵宾查询出文档集合返回Json
方法名称:searchDocumentsByFilterFormat2Json(String formName, Map<String, Object> parameters,String applicationId)


我用的这个,没有你们写的domainUserId,我是用的android平台调用的

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
               
                new Thread(new Runnable() {
                       
                        private String namespace = "http://client.webservice.myapps.cn/";
                        private String methName = "searchDocumentsByFilterFormat2Json";
                        private String id = "11e3-3185-48f84b5e-af27-65e01fe8c268";
                       
                        @Override
                        public void run() {
                                SoapObject request = new SoapObject(namespace, methName);
                               
                                request.addProperty("formName", "getData");  
                                request.addProperty("applicationId", id);  
                               
                                String jsonStr="{}";
                                request.addProperty("jsonStr", jsonStr);  
                                //request.addProperty("pwd", "123");  

                               
                                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
                    envelope.setOutputSoapObject(request);
                                HttpTransportSE ht =   
                                                    new HttpTransportSE("http://192.168.210.102:8090/obpm_whkc/services/DocumentService");
                                try {
                                        ht.call(namespace +methName , envelope);
                                        SoapObject soapObject = (SoapObject) envelope.getResponse();
                                        System.out.println(soapObject.getProperty("id"));
                                } catch (IOException e) {

                                        e.printStackTrace();
                                } catch (XmlPullParserException e) {
                                        e.printStackTrace();
                                }
                        }
                }).start();
               
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}
kimi 发表于 2013-10-11 10:10:56 | 显示全部楼层
不好意思,您这里说的android平台调用的是指在android项目的源码中调用我们平台下的这个方法?
 楼主| 武汉测绘 发表于 2013-10-11 10:32:00 | 显示全部楼层
回复 16# kimi


    是的,android直接调用你们平台的webservice
echochen 发表于 2013-10-11 10:44:38 | 显示全部楼层
您好,android平台调用的问题目前在咨询研发,请稍等一下。
 楼主| 武汉测绘 发表于 2013-10-11 11:57:14 | 显示全部楼层
使用纯sql,报错
cn.myapps.webservice.fault.DocumentServiceFault: Unknown column 'table_0.DOMAINID' in 'where clause'

private String namespace = "http://client.webservice.myapps.cn/";
                        private String methName = "searchDocumentsBySQLFormat2Json";
                        private String id = "11e3-3185-48f84b5e-af27-65e01fe8c268";
                       
                        @Override
                        public void run() {
                                SoapObject request = new SoapObject(namespace, methName);
                               
                                request.addProperty("sql", "select * from dice limit 10");  
                                request.addProperty("applicationId", id);  
                               
                                //String jsonStr="{}";
                                //request.addProperty("jsonStr", jsonStr);  
                                //request.addProperty("pwd", "123");  

                               
                                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
                    envelope.setOutputSoapObject(request);
                                HttpTransportSE ht =   
                                                    new HttpTransportSE("http://192.168.210.102:8090/obpm_whkc/services/DocumentService");
                                try {
                                        ht.call(namespace +methName , envelope);
                                        SoapObject soapObject = (SoapObject) envelope.getResponse();
                                        System.out.println(soapObject.getProperty("id"));
                                } catch (IOException e) {

                                        e.printStackTrace();
                                } catch (XmlPullParserException e) {
                                        e.printStackTrace();
                                }
                        }
kimi 发表于 2013-10-11 12:01:19 | 显示全部楼层
您好:请问您这里的dice表是否我在外面平台创建的表单呢?如果是您对应的sql语句上要加上tlk_dice,如果您dice表中没有domainid这个字段,那您对应的sql语句查询中需要需要出这里列,类似如: request.addProperty("sql", "select *,'1111' as domainid from dice limit 10");

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 07:25

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表