uddi søgning, error 10500
Jeg skal udføre en søgning i vores uddi register.jeg har lavet en customcontrol, som bl.a. indeholder et datagrid med et tekst felt til søgeparameter samt en knap til at udføre søgningen
<asp:DataGrid ID="grid" Border='0' CellPadding='4' Width='100%' AutoGenerateColumns='False' ItemStyle-VerticalAlign='Top' ShowFooter='True' OnEditCommand="Edit_OnClick" OnDeleteCommand="Delete_OnClick" OnCancelCommand="Cancel_OnClick" OnUpdateCommand="Update_OnClick" Runat='Server'>
<EditItemStyle CssClass="tableEditItem"></EditItemStyle>
<AlternatingItemStyle CssClass="tableAlternatingItem"></AlternatingItemStyle>
<ItemStyle CssClass="tableItem" VerticalAlign="Top"></ItemStyle>
<HeaderStyle CssClass="tableHeader"></HeaderStyle>
<FooterStyle CssClass="tableFooter"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<%#"Versions"%>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="oldLabel"><%#"Old Version Url"%></asp:Label>
<asp:Label ID="oldUrl">
<%#((VersionInfo)Container.DataItem).OldUrl%>
</asp:Label>
<br>
<asp:Label ID="noLabel"><%#"Version No"%></asp:Label>
<asp:Label ID="VersionNo">
<%#((VersionInfo)Container.DataItem).VersionNo%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label><%#"Old Version Url"%></asp:Label>
<asp:TextBox ID="newOldUrl" Runat="server" />
<asp:DropDownList ID="ServiceSearchResults" Runat='server'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderStyle-Width='150px'>
<HeaderTemplate>
<%#"Actions"%>
</HeaderTemplate>
<ItemTemplate>
<asp:Button ID="btnEdit" CommandName='Edit' Text="Edit" CssClass='button' Width='70px' Runat="server" />
<asp:Button ID="btnDelete" CommandName='Delete' Text="Delete" CssClass='button' Enabled=<%#Container.ItemIndex>0%> Width='70px' Runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="btnSearch" Visible=true OnClick="Search_OnClick" CommandArgument='search' Text="Search" CssClass='button' Width='70px' Runat=server/>
<asp:Button ID="btnUpdate" CommandName='Update' CommandArgument='update' Text="Update" CssClass='button' Width='70px' Runat="server" />
<asp:Button ID="btnCancel" CommandName='Cancel' Text="Cancel" CssClass='button' Width='70px' Runat="server" />
</EditItemTemplate>
<FooterTemplate>
<asp:Button ID="btnAdd" Text="Add Old Version" OnClick="Add_OnClick" CssClass='button' Width='146px' Runat="server" />
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
codebehind
namespace controls
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Collections;
using Microsoft.Uddi;
using Microsoft.Uddi.Services;
/// <summary>
/// Summary description for NewVersion.
/// </summary>
public class Versions : System.Web.UI.UserControl
{
protected DataGrid grid;
protected DropDownList ServiceSearchResults;
private VersionInfo version;
private ArrayList list;
private ArrayList services;
public VersionInfo Version
{
get{return version;}
set{version = value;}
}
private void NewVersion_Init(object sender, System.EventArgs e)
{ /*
if(!Page.IsPostBack)
{
list = new ArrayList();
list.Add(new VersionInfo("myUrl.com",1));
list.Add(new VersionInfo("YourUrl.com",2));
}
*/
}
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
//list = new ArrayList(new VersionInfo[]{new VersionInfo("myUrl.com",1),new VersionInfo("YourUrl.com",2)});
list = new ArrayList();
grid.DataSource = list;
grid.DataBind();
Session["list"]=list;
}
else
{
list=(ArrayList)Session["list"];
}
// Put user code to initialize the page here
}
protected void Edit_OnClick(Object sender, DataGridCommandEventArgs e)
{
grid.EditItemIndex=e.Item.ItemIndex;
grid.DataSource=list;
grid.DataBind();
Session["list"]=list;
}
protected void Delete_OnClick(Object sender, DataGridCommandEventArgs e)
{
list.RemoveAt(e.Item.ItemIndex);
grid.DataSource=list;
grid.DataBind();
Session["list"]=list;
}
protected void Update_OnClick(Object sender, DataGridCommandEventArgs e)
{
string arg = (string)e.CommandArgument;
switch(arg)
{
case "update":
ServiceSearchResults = (DropDownList)e.Item.FindControl("ServiceSearchResults");
int index = ServiceSearchResults.SelectedIndex;
services = (ArrayList)Session["services"];
string newUrl = ((ServiceDetail)services[index]).BusinessServices[0].BindingTemplates[0].AccessPoint.Text;
//list = (ArrayList)Session["list"];
VersionInfo old =(VersionInfo)list[e.Item.ItemIndex];
VersionInfo newInfo = new VersionInfo(newUrl,old.VersionNo);
list[e.Item.ItemIndex] = newInfo;
grid.EditItemIndex = -1;
grid.DataSource=list;
grid.DataBind();
Session["list"]=list;
break;
case "search" :
DropDownList drop = (DropDownList)e.Item.FindControl("ServiceSearchResults");
//drop.Visible=true;
//Control control = e.Item.Cells[0].Controls[2];
//DropDownList drop = (DropDownList)control;
break;
}
}
protected void Cancel_OnClick(Object sender, DataGridCommandEventArgs e)
{
grid.EditItemIndex = -1;
grid.DataSource=list;
grid.DataBind();
}
protected void Add_OnClick(Object sender, EventArgs e)
{
list.Add(new VersionInfo());
grid.DataSource=list;
grid.EditItemIndex=grid.Items.Count;
grid.DataBind();
Session["list"]=list;
}
protected void Search_OnClick(Object sender, EventArgs e)
{
string domain = "XML";
string user = "administrator";
string pass = "administrator";
UddiConnection con = new UddiConnection("http://localhost/uddi/inquire.asmx");
con.AuthenticationMode = AuthenticationMode.WindowsAuthentication;
con.PublishUrl="http://localhost/uddi/publish.asmx";
GetAuthToken getToken = new GetAuthToken(domain+"\\"+user,pass);
AuthToken token = getToken.Send(con);
con.AuthInfo=token.AuthInfo;
DataGridItem item = (DataGridItem)(((Button)sender).Parent.Parent);
FindService fs = new FindService(((TextBox)item.Cells[0].Controls[1]).Text);
DropDownList ServiceSearchResults = (DropDownList)item.FindControl("ServiceSearchResults");
ServiceList serviceList = fs.Send(con);
services = new ArrayList();
foreach(ServiceInfo sInfo in serviceList.ServiceInfos)
{
GetServiceDetail gsd = new GetServiceDetail(sInfo.ServiceKey);
ServiceDetail detail = gsd.Send(con);
services.Add(detail);
ServiceSearchResults.Items.Add(detail.BusinessServices[0].Names[0].Text);
}
Session["services"]=services;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.Init += new System.EventHandler(this.NewVersion_Init);
}
#endregion
}
}
søgningen fungerer fint når jeg kører den fra en testside.
men så snart jeg lægger kontrollen op på serveren og kører den for jeg følgende fejl
<?xml version="1.0" encoding="utf-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
- <soap:Body>
- <soap:Fault>
<soap:faultcode>soap:Client</soap:faultcode>
<soap:faultstring />
- <soap:detail>
- <dispositionReport generic="2.0" operator="WIN2003Dev6" xmlns="urn:uddi-org:api_v2">
- <result errno="10500">
<errInfo errCode="E_fatalError">The request failed validation. Details: This stream does not support seek operations.</errInfo>
</result>
</dispositionReport>
</soap:detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
den eneste info jeg har fundet om error 10500 på msdn (og google) er this is a fatal technical error.
Ikke særlig brugbar info
Nogen der har set denne fejl før eller ved hvad jeg gør forkert?
