首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex+lcds调用java类的有关问题

2012-02-16 
flex+lcds调用java类的问题我按照教程配置的lcds,如果是简单的比如package com.testpublic class FirstJa

flex+lcds调用java类的问题
我按照教程配置的lcds,如果是简单的比如
package com.test;
public class FirstJavaClass {
public String sayHello(String str){
return "你说的是:"+str;
}
}
就不会出错,而我要是把这个类改成
package com.test;

import java.util.Vector;
import java.io.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.*;
import com.esri.sde.sdk.client.SDEPoint;
import com.esri.sde.sdk.client.SeConnection;
import com.esri.sde.sdk.client.SeCoordinateReference;
import com.esri.sde.sdk.client.SeException;
import com.esri.sde.sdk.client.SeInsert;
import com.esri.sde.sdk.client.SeLayer;
import com.esri.sde.sdk.client.SeRow;
import com.esri.sde.sdk.client.SeShape;
import com.esri.sde.sdk.client.*;
public class FirstJavaClass {
/**
* @param args
*/
public void sdeInsert() {
// TODO Auto-generated method stub
SeConnection conn = null;
  String server = "A10447859E2147D";
  int instance = 5151;
  String database = "";
  String user = "sde";
  String password = "sde";
  try {
  conn = new SeConnection(server, instance, database, user, password); 
  Vector layerList = conn.getLayers();
  for( int index = 0 ; index < layerList.size() ; index++ ) 
  {
  SeLayer layer = (SeLayer)layerList.elementAt(index);
  long long_number = 922337203685477580L;
/*
* Define the names of the columns that data is to be inserted into.
*/
String columns[] = new String[5];  
// columns[0] = new String("OBJECT_ID"); // LONGINT column
columns[0] = new String("CROSSID"); // TEXT column
columns[1] = new String("CHANNELID"); // TEXT column
columns[2] = new String("ROTATION"); // TEXT column
columns[3] = new String("SYMINDEX"); // TEXT column  
columns[4] = layer.getSpatialColumn(); // Shape column
 
SeInsert insert = null;
 
insert = new SeInsert(conn);
insert.intoTable(layer.getName(),columns);
insert.setWriteMode(true);  
SeCoordinateReference coordref = layer.getCoordRef();
SeShape shape = new SeShape(coordref);  
 
int numPts = 1;
SDEPoint[] ptArray = new SDEPoint[numPts];
ptArray[0] = new SDEPoint(126.643207,45.739088);
shape.generatePoint(numPts, ptArray);
 
SeRow row1 = insert.getRowToSet();
System.out.println("row.getNumColumns()="+row1.getNumColumns());
System.out.println(row1.getColumnDef(0));
System.out.println(row1.getColumnDef(1));
System.out.println(row1.getColumnDef(2));
System.out.println(row1.getColumnDef(3));
System.out.println(row1.getColumnDef(4));
System.out.println(row1.getColumnDef(5));
// System.out.println(row1.getColumnDef(6));  
// row1.setLong(0,long_number);
row1.setNString(0,"fdfdfdfd");
row1.setNString(1,"fdsafsafas");
row1.setNString(2,"fdsafas");
row1.setNString(3,"fdsaas");  
row1.setShape(4,shape);
//Insert
insert.execute();
insert.close(); 


System.out.println("\tinserted");
  } //End for
  }catch (SeException e) {
  e.printStackTrace();
  } 
}


}
就会报[LCDS]Error instantiating application scoped instance of type 'com.test.FirstJavaClass' for destination 'FirstJavaClassRemoteObject'.错误,我估计是用到的jar包的问题,程序找不到这些包的位置,可我已经把它导入了,是concurrent.jar,icu4j_3_2.jar,jpe_sdk.jar,jsde_sdk.jar这四个包,能不能告诉我怎么放置这几个包才能解决这个错误啊?

[解决办法]
你说“我估计是用到的jar包的问题,程序找不到这些包的位置”
这个java文件能编译通过吧?

还有这个错误是进入sdeInsert()方法之前还是之后出的?

[解决办法]
不要使用LCDS了
使用Blazeds吧
[解决办法]
参考这里,看是不是有帮助
http://corlan.org/2008/06/05/creating-a-combined-flexjava-project-in-flex-builder-wo-lcdsblazeds/

http://www.joshuaostrom.com/2009/09/02/debug-server-client-lcds-java-helloworld-in-flex-builder/
[解决办法]
学习一下!
[解决办法]
jf~~~~~~~~~~~~~~~

热点排行